9

没有在C盘装东西,桌面也没文件,为什么C盘莫名其妙就满了?

 3 years ago
source link: https://www.zhihu.com/question/456677257
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

因为Windows有好几个非常占用C盘空间的机制,即使用户很注意不把文件放C盘,也会逐渐吃掉大量的C盘空间。

1.页面文件,2-30G

Windows作为一款现代操作系统,是支持虚拟内存空间的。因为虚拟内存机制,允许软件申请内存空间但未真正使用前不真正分配物理内存,直到软件使用分配到的内存发生缺页错误时才真正分配物理内存;也允许把长时间不活动的内存页面交换到硬盘上的页面交换文件以腾出物理内存。因此Windows默认会在C盘建立一个页面交换文件,并且根据不同的物理内存大小、系统页面设置以及应用程序的内存使用情况,页面文件的大小通常在2~8G左右,极端情况下甚至会达到20~30G。

具体页面交换文件大小,可以把资源管理器设置为显示隐藏文件及系统文件,查看C盘根目录下的Pagefile.sys的大小。可以把页面交换文件设置到其它分区(多个硬盘的话,建议放在4K随机读写性能最好的分区),具体教程见:

https://www.cfan.com.cn/2020/0604/133900.shtml​www.cfan.com.cn

关于虚拟内存、页面交换文件更细节的介绍,请参看我的另一个回答:

2.休眠文件,4~20G

Windows支持休眠,并且默认设置下启用。休眠又叫挂起到硬盘(Suspend To Disk,STD),就是把内存中的数据保存到硬盘中然后关机,下次开机时直接从硬盘加载休眠前的内存数据而无需重新初始化一系列系统服务以及重新打开正在运行的程序。

用于保存内存数据的文件,只能在C盘根目录,文件名是Hiberfil.sys,Windows 8之后,默认大小通常是物理内存大小的75%,也就是16G内存的话占用12G C盘空间,可以自行设置到50-100%之间的值。

如果无需使用休眠,可以强制关闭休眠功能。但这样会导致Windows的快速启动失效,仅建议只使用待机(Stand by,或者叫睡眠/Sleep、挂起到内存/Suspend To Ram/STR)或者从不关机的用户如此操作:

管理员权限打开命令行,输入:

powercfg /h off

3.各种应用数据,2~40G

Windows从Vista开始引入UAC后,默认情况下应用程序运行时不允许修改默认程序安装目录下(“C:\Program Files”和“C:\Program Files(x86)”)的文件。因此应用程序运行时如果需要保存部分数据到硬盘中,通常放在“C:\ProgramData”(不区分用户,一般来说很小)或者“C:\Users\<用户登录名>\AppData”下。

根据安装的具体应用以及应用使用情况,应用安装运行一段时间后,“C:\Users\<用户登录名>\AppData”这个文件的大小通常在2G以上,上限可能会很大。例如Android Studio,默认会把SDK和AVD放在这个目录下,使用多个模拟器的话可能会占用数十G空间。

某些软件可以自行设定数据文件的保存位置,一劳永逸的办法是把AppData放到其它分区,并且创建目录链接到原位置。具体操作:

按住Shift键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。然后顺序输入以下命令,尖括号中的内容根据实际情况替换:

mkdir <d:\登录名>
robocopy C:\Users\<登录名>\AppData <d:\登录名>\AppData /e /copyall /move /sl /r:1 /w:1
rmdir C:\Users\<登录名>\AppData
mklink /j C:\Users\<登录名>\AppData <d:\登录名>\AppData

关闭命令行窗口,正常重启进入Windows。

4.各种软件的安装包,1~10G

很多使用MSI安装包的软件,安装时Windows会把整个MSI缓存一份到“C:\Windows\Installer”目录下,以便将来修复重装软件、增删可选软件模块、卸载软件时使用。有些软件的MSI包非常大,一个就几百兆甚至数GB,尤其是微软自家软件的补丁安装包,累积下来整个目录占用了十几G不少见。

这个文件夹直接删除里面的msi/msp文件不会影响系统和软件运行,但修复重装软件、增删可选软件模块、卸载软件的时候会出错。所以建议移动到其它分区,如果电脑同时安装有固态硬盘和大容量的机械硬盘,可以移动到机械键盘上的分区以免占用宝贵的固态硬盘空间,毕竟这些文件访问频率很低。具体操作:

按住Shift键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。然后顺序输入以下命令,尖括号中的内容根据实际情况替换:

mkdir <e:\Backup>
robocopy C:\Windows\Installer <e:\Backup>\Installer /e /copyall /move /sl /r:1 /w:1
rmdir C:\Windows\Installer
mklink /j C:\Windows\Installer <e:\Backup>\Installer

关闭命令行窗口,正常重启进入Windows。

5.Windows更新备份,2~20G

Windows的更新补丁或者大版本更新,都会创建备份,用于必要时卸载补丁或者回滚到旧版本。补丁备份通常是几百兆到几个GB,大版本更新可能会占用10~20G左右。

如果确认更新后的系统运行正常,可以删除相关备份和文件,具体操作可以参考:

https://answers.microsoft.com/zh-hans/windows/forum/windows_10-update/%E6%9B%B4%E6%96%B0%E5%90%8Ec%E7%9B%98%E7%A9%BA/a9b1924f-3acf-4a25-baa1-f5faa43e6f58​answers.microsoft.com

PS:根据评论区意见补充:

默认的数据存放路径:文档、桌面、图片、音乐、视频、下载

这几个文件夹,也会经常被一些软件作为默认的数据存储位置。例如微信、QQ,默认把聊天记录、接收到的文件存放在文档里面,使用时间长了,又经常在一些群里面还有那么几个人天天发表情包、福利图、转发视频的话,也会占用大量空间。不过这几个文件夹的转移很方便,右键点击,属性,位置,移动就可以了。如果是全新的电脑,并且系统是Win10的话,直接在设置、系统、存储、更改新内容的保存位置,在这里操作会更方便一点。

不过这几个文件夹不太符合前面所说的“即使用户很注意不把文件放C盘”这个前提,大部分有一定经验的用户也都知道,原来的回答就没有提到了。考虑到还是有部分读者接触电脑时间不长,还是多说几句吧。


最后,对于固态硬盘,我个人建议在有可靠数据备份方案且没有特殊的数据管理要求的前提下,不分区使用。

如果习惯了分区使用的话,没有太多大型软件、游戏,分配给C盘的空间不少于100G,如果有大型软件、游戏,即使会安装到其它分区,也请酌情增加C盘容量。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK