服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-11 更新于 2026-10-11 简米科技 4,102 字 10 分钟阅读

服务器虚拟内存c盘满了怎么办,虚拟内存不足如何清理释放空间

导读服务器虚拟内存C盘满了的根本解法是:把虚拟内存(页面文件)迁移到非系统盘,同时清理临时文件、Windows更新缓存和休眠文件等占用大户,最后设置合理的虚拟内存大小,根治C盘爆满问题,很多运维朋友遇到过这种场景:服务器跑着跑着,C盘突然飘红,远程登录卡到怀疑人生,打开任务管理器一看,虚拟内存占了几个GB甚至十几个……

服务器虚拟内存C盘满了的根本解法是:把虚拟内存(页面文件)迁移到非系统盘,同时清理临时文件、Windows更新缓存和休眠文件等占用大户,最后设置合理的虚拟内存大小,根治C盘爆满问题。

很多运维朋友遇到过这种场景:服务器跑着跑着,C盘突然飘红,远程登录卡到怀疑人生,打开任务管理器一看,虚拟内存占了几个GB甚至十几个GB,这时候别急着删东西,先搞清楚是什么占满了C盘,再动手解决。


先把虚拟内存的“锅”搞清楚:是不是页面文件撑爆了C盘

服务器虚拟内存C盘满了怎么办,第一步永远是定位根因,Windows系统的虚拟内存本质上是磁盘上的一个文件,叫pagefile.sys,默认放在系统盘根目录,如果物理内存不够用,或者系统配置了较大的虚拟内存范围,这个文件会持续膨胀,把C盘空间蚕食干净。

怎么判断C盘满是不是虚拟内存的锅

打开C盘根目录,把文件夹选项改成“显示隐藏文件”和“取消隐藏受保护的操作系统文件”,如果看到pagefile.sys体积很大,比如超过了4GB甚至达到十几GB,那基本可以确定虚拟内存是主要的占用源。

也可以右键“此电脑”选“属性”,进入“高级系统设置”,在“性能”区域点“设置”,切到“高级”选项卡,底部能看到“虚拟内存”的当前分配情况,这里显示的数字就是页面文件的实际占用。

虚拟内存明明有默认设置在C盘,为什么偏偏会满

  • 服务器物理内存较小,比如只有8GB,却运行了数据库、Web服务等多个应用,内存压力大,Windows会疯狂往页面文件里写数据。
  • 系统托管的默认配置会让页面文件自动增长,最小值和最大值差距过大,导致文件持续扩展。
  • 多个应用程序存在内存泄漏,长时间运行后占用量飙升,虚拟内存被撑满。
  • C盘本身分区较小,比如只有40GB或60GB,系统文件加上虚拟内存很容易触及上限。

搞清楚原因之后,解决方案就清晰了:把虚拟内存挪出去。


虚拟内存设置多少合适?把页面文件迁到D盘才是根治办法

行业共识认为,虚拟内存的合理大小一般建议设为物理内存的1到1.5倍,但这只是参考值,还得结合服务器实际负载来定,不过比大小更关键的是位置,把虚拟内存放在C盘以外的磁盘上,既释放了系统盘压力,还能减少C盘的碎片化写入。

具体操作步骤:把虚拟内存从C盘迁移到D盘

  1. 右键“此电脑”选“属性”,点左侧“高级系统设置”。
  2. 在“高级”选项卡的“性能”区域,点“设置”。
  3. 服务器虚拟内存c盘满了怎么办,虚拟内存不足如何清理释放空间

  4. 切到“高级”选项卡,点击底部“虚拟内存”区域的“更改”。
  5. 取消勾选“自动管理所有驱动器的分页文件大小”。
  6. 选中C盘,选择“无分页文件”,点“设置”。
  7. 选中D盘(或其他空间充足的分区),选择“自定义大小”。
  8. 初始大小设置为物理内存的1倍,最大值设置为物理内存的1.5倍(例如物理内存16GB,初始值16384MB,最大值24576MB)。
  9. 点“设置”确认路径生效,一路点“确定”,然后重启服务器。

重启后,C盘根目录下的pagefile.sys会消失,D盘会出现新的页面文件,这一步做完,C盘空间基本能释放一大块出来。

没有D盘怎么办:压缩系统盘或加数据盘

如果服务器只有一个C盘分区,建议用磁盘管理工具把现有空间分出一个小分区,比如从C盘压缩出20GB到50GB,新建为D盘,专门放虚拟内存和临时文件,分盘操作需要在系统运行时执行,右键“此电脑”选“管理”,进入“磁盘管理”,右键C盘选“压缩卷”,按提示分配空间即可。

如果服务器是云主机,也可以直接在云控制台购买一块数据盘,挂载后初始化、格式化,再按上述步骤把虚拟内存指过去。


服务器C盘空间不足清理:动手删掉这几类安全文件

迁移虚拟内存之后,C盘可能还是不够清爽,系统运行久了,临时文件、更新缓存、日志文件都会堆积起来,下面这些内容可以放心清理,不需要额外工具,Windows自带能力就能完成。

临时文件和系统缓存

打开“运行”窗口输入%temp%,进入当前用户临时文件夹,全选删除,再输入C:WindowsTemp,同样删掉里面的内容,遇到提示文件被占用就跳过,不影响整体清理效果。

Windows更新留下的缓存文件在C:WindowsSoftwareDistributionDownload目录下,这些是下载好的更新补丁包,安装完成后没有自动清除,删掉能腾出不少空间,停止Windows Update服务后删除更彻底:管理员身份打开命令提示符,输入net stop wuauserv,删除Download目录内容,再输入net start wuauserv重启服务。

休眠文件和系统还原点

休眠文件hiberfil.sys占据空间巨大,很多服务器根本不需要休眠功能,管理员身份打开命令提示符,输入powercfg /h off,休眠文件会直接被删除,立即释放出与物理内存等大的空间。

系统还原点也吃空间,右键“此电脑”选“属性”,进入“系统保护”,选中C盘点“配置”,把还原空间占用调低,或者直接点“删除”清除现有还原点。

服务器虚拟内存c盘满了怎么办,虚拟内存不足如何清理释放空间

Windows.old和崩溃转储文件

如果服务器做过大版本系统更新,C盘可能出现Windows.old文件夹,这是旧系统的备份,确认系统稳定运行后可以直接删除,用“磁盘清理”工具选择“清理系统文件”,勾选“以前的Windows安装”,系统会自动清掉该目录。

崩溃转储文件(MEMORY.DMP)在蓝屏或异常重启后生成,体积可能达到几个GB,位于C:Windows目录下,如果服务器已经稳定运行,删除这些转储文件没有风险。“此电脑”右键属性,进入“高级系统设置”的“启动和故障恢复”,把“写入调试信息”改为“无”,以后不会再生成新转储文件。

用磁盘清理和存储感知做最后一轮打扫

  • 打开“此电脑”,右键C盘选“属性”,点“磁盘清理”,再点“清理系统文件”,勾选“临时文件”“回收站”等选项,执行清理。
  • Windows Server 2019及以上版本可以开启“存储感知”,在“设置”>“系统”>“存储”里打开自动清理开关,系统会定期删除无用的临时文件和旧版本更新。

日常怎么让C盘保持健康,避免再次爆满

清理完只是治标,想让服务器虚拟内存C盘满了这个问题不再复发,得从日常操作习惯入手。

调整虚拟内存策略为“系统管理”或固定大小

迁移到D盘后,可以把虚拟内存设置为“系统管理的大小”,让Windows自行调整,也可以保持自定义固定值,固定值的优势是页面文件不会忽大忽小,减少碎片化,但前提是预留空间足够,如果D盘空间紧张,用系统托管更省心。

定期巡检磁盘空间

设置一个计划任务,每周跑一次磁盘空间检查脚本,或者用自带的“存储分析”工具统计各目录占用情况,发现C盘使用率超过80%就及时介入,别等到剩几个GB才处理。

应用日志和数据库文件不要放C盘

互联网信息服务(IIS)日志、SQL Server数据库文件、第三方应用的数据目录,安装时默认可能指向C盘,安装前刻意改到数据盘,能避免日志无限增长把C盘塞满,已经装在C盘的,手动迁移数据目录后再调整应用配置。

关注云服务器快照和镜像的存储占用

云平台上的快照和自定义镜像同样会占用存储配额,虽然不直接显示在系统盘里,但会挤占整体磁盘空间,定期去云控制台清理过期快照,保留最新的一两个即可。


为什么虚拟内存设置在C盘会导致系统卡顿,以及如何优化

虚拟内存C盘满了不只是空间问题,还直接影响性能,C盘承担着系统核心文件的读写任务,页面文件的随机读写会加剧同一块磁盘的I/O压力,尤其在机械硬盘的服务器上,卡顿感非常明显,即使C盘没满,把虚拟内存放在系统盘也是不推荐的做法。

服务器虚拟内存c盘满了怎么办,虚拟内存不足如何清理释放空间

多块硬盘的情况下,虚拟内存放哪块盘最合适

  • 优先选择独立的非系统盘,最好是SSD或云盘的云硬盘类型,读写性能优于机械盘。
  • 不要把虚拟内存放在存放数据库文件的同一块盘上,避免I/O争抢。
  • 有条件的话,给虚拟内存单独划分一个分区,避免和其他业务数据混在一起。

服务器物理内存足够大时,可以直接关闭虚拟内存吗

某些场景下可以,但不建议完全关闭,Windows内核的部分功能模块依赖页面文件的存在,即使物理内存充足,禁用虚拟内存可能触发个别软件的兼容性问题,更稳妥的做法是把页面文件设置为固定大小,比如物理内存的0.5倍,放在D盘,保持系统稳定又腾出C盘空间。


清理完C盘后性能反而变慢怎么办

清理C盘后,Windows会重建临时索引、重写部分缓存,短期内磁盘占用和响应速度可能略有波动,重启一次服务器,让系统重新初始化所有服务,性能会恢复正常,如果重启后依然卡顿,检查D盘的可用空间是否充足,虚拟内存页面文件是否正常工作。

页面文件碎片化也可能导致性能下降,用Windows自带的碎片整理工具,对D盘执行“优化”操作,或者用命令defrag d:去掉碎片,注意固态硬盘不要做传统碎片整理,只需执行TRIM优化。


关于服务器虚拟内存C盘满了的常见疑问

虚拟内存文件可以直接删除来释放空间吗

不建议直接删除pagefile.sys,因为系统正在使用它,直接删除会报错或在重启后重新生成,无法真正解决问题,正确做法是通过虚拟内存设置界面,改为“无分页文件”并重启,系统会自动移除该文件,然后重新指定到其他盘符。

C盘满了能不能只清理不迁移虚拟内存

短时间可以,但后续还会涨回来,虚拟内存的文件大小取决于内存压力,只要运行的程序没有变化,页面文件迟早会重新占用空间,一边清理配置垃圾文件,一边把虚拟内存迁移到其他盘,才是一劳永逸的做法。

云服务器C盘只有40GB,调整虚拟内存后还是不够用怎么办

40GB的系统盘在现代Windows Server环境下确实偏小,系统本体加上补丁和软件容易吃紧,可以考虑在云控制台升级系统盘容量,或者把不常用的大文件、软件安装路径迁移到数据盘,升级系统盘在云平台上通常不需要重装系统,按提示操作即可扩充容量。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱