首页 博文 分类 关于
AstroBlog
未分类

Windows下磁盘空间优化不完全指北

#Windows

在我们日常使用 Windows 的情况下,总会或多或少遇到 C盘空间不足、磁盘空间爆满的情况,绝大多数和我们的个人使用习惯有关,但是另一部分也是至关重要的一部分——操作系统与应用程序。 在本篇中我们并不介绍“个人使用习惯”部分,无外乎就是以下几点:

  • 尽量不要将应用安装在 C盘
  • 是否还有必要分区
  • 应用缓存目录修改
  • 定期清理垃圾文件
  • … 我们不在这里追究到底哪些对哪些错,有需要的自行网上查找即可

锅从”操作系统“来

关于休眠与睡眠

在 Windows 的电源图标处有 休眠睡眠锁定关机重启 等几个选项,大部分轻度使用的人可能并不知道 休眠睡眠 的区别,这里不做详细展开,有兴趣的可以阅读 为什么我的 Windows 睡眠模式和别人不一样? ,或者自行搜索查阅

简单描述就是: 睡眠模式会将你当前打开的软件的数据存储于内存中,以低功耗的模式运行 休眠模式则是将你当前打开的软件的数据存储于硬盘中,设备会完全断电

注意上面的休眠模式中,提到会将数据存储于硬盘中,如果你使用过类似 SpaceSnifferWizTree 等软件的话,你就会发现你的C盘下通常会有一个大小几G的 hiberfil.sys 文件:

klabw7

该文件会存储打开软件的数据,便于你下次激活电脑时可以快速的还原到休眠前的状态,该文件大小最大一般和物理内存保持一致,也就是说极端情况下该文件会严重占用C盘的空间

网上有很多C盘清理教程中都指出了可以禁用休眠功能,但是禁用休眠功能的话需要你衡量相应的得失:

  • “快速启动”功能失效,开机时间会延长
  • “断电保存”功能缺失,意味着重要数据存在丢失的风险
  • C盘占用空间释放,减少C盘爆红的焦虑

禁用休眠功能并不会对电脑造成严重性的损伤,禁不禁用取决于你的使用场景:

  • 如果你轻度使用,每日都会开机关机,且C盘剩余空间并没有少到可怜的几G,那我建议还是不要关闭该功能
  • 如果你并不担心被延长的开机时间,可以尝试禁用该功能体验一段时间再说
  • 如果你存在远程的操作(如向日葵)需要电脑可以随时唤醒,那么我建议禁用该功能,因为系统在休眠和睡眠阶段是会断开网络的

禁用和开启的命令很简单,打开 Powershellcmd 命令行,输入以下命令即可禁用和开启:

// 开启休眠功能
powercfg -h on
// 禁用休眠功能
powercfg -h off

关于虚拟内存

Windows 默认情况下会自动管理虚拟内存,虚拟内存顾名思义:独立于物理内存之外虚拟的内存 为什么我们需要虚拟内存呢?

  1. 缓解物理内存压力,当我们开启的软件或者浏览器标签页很多时,物理内存很快会被占满,这个时候可以将暂时用不到的数据移动到虚拟内存中来缓解物理内存的压力
  2. 运行大型游戏或软件,有的游戏或软件运行时会占用大量的内存,而虚拟内存可以将当前不需要读取或暂时用不到的数据管理起来
  3. 提升系统稳定性,防止爆内存导致的系统崩溃

简单描述就是: 帮助缓解物理内存的压力,提升系统运行流畅度

虚拟内存是我们使用电脑过程中不可或缺的一部分,同样的如果你使用过类似 SpaceSnifferWizTree 等软件的话,你就会发现你的C盘下通常会有一个大小不定的 pagefile.sys 文件:

gh

该文件大小默认由 Windows 管理,同时我们也可以自行进行修改

如果你的C盘剩余空间不多,你完全可以将其修改至 D盘或者其他盘,但需注意要修改至固态硬盘(否则文件读取速度会让你回到 Windows XP 时代),同时你也可以自行控制其大小,一般推荐为物理内存的1.5倍-3倍左右,具体设置方法可自行搜索

但需注意的是,一定要保证 C盘设置为无分页文件,否则还是会缓存在C盘中,如下图:

gh

关于WSL

WSL(Windows Subsystem for Linux) 允许用户在 Windows 上运行原生的Linux系统,普通人一般很少接触到 WSL,常在开发、调试、机器学习、运维等行业的人员使用

同样的,对于 WSL 在磁盘中本质上还是以文件的形式进行存储,因此当你在 Linux 中的服务或者文件多起来后,同样会占用 C盘空间,你一般会在部署的相关 Linux 发布版目录下找到其文件,我这里是装的 Ubuntu,如下:

gh

由于其本质上还是文件,因此理论上你可以将其移动到任意的盘符中来释放C盘空间,具体方法可自行搜索,迁移时需注意备份原有数据

锅从“应用程序”来

在使用电脑的过程中,各种各样的应用程序使我们接触最多的了,有些程序并不会遵循相应的规范,各处“拉屎”,导致我们的磁盘占用越来越多,我们能做什么?什么都做不了

关于 Electron

Electron 是一个跨平台的桌面端应用开发框架,可以使用 Web三件套构建兼容 Windows、MacOS、Linux 系统的桌面应用

有很多应用为了可以快速兼容不同平台的用户,可能会使用 Electron框架来进行开发,框架优劣问题我们不做讨论

如果你好奇翻过 C盘目录,你会发现在 C:\Users\${你的用户名}\AppData\Local 目录下存在以 -updater 为后缀的文件夹,每个文件夹里都有一个可执行的.exe 文件,且大小都在100M左右,如下:

gh

从文件夹名上我们就可以分析出作用:其实是供相关应用进行自动更新而创建的 但是该文件只会创建不会删除,这意味着如果你卸载了某个软件后,该文件夹就成为了无用的“孤儿文件夹”,你永远都用不到该文件夹中的内容,直到你的电脑退休!

因此,如果你的C盘占用越来越大,不妨看看这个目录下是否存在你已经卸载的软件残留,如果该软件确实被卸载,那么你可以放心大胆的删除掉它。 但注意:没有卸载的软件请不要碰,否则会影响软件的自动更新!

关于 BaiduNetdisk

在使用 SpaceSniffer 软件分析软件存储时,我看到百度网盘的 D:\Program Files (x86)\BaiduNetdisk\AutoUpdate\Download\MainApp 目录下有很多几百M的 .cab 文件,如下:

gh

这些文件都是百度网盘自动更新功能下载的​​完整安装包,是可以删除掉的,因为这些文件只是在软件更新时使用,当软件更新完成后就没有什么作用了,因此你可以放心的删除掉它们,但是需要注意在删除前,请确保​​百度网盘客户端已完全关闭​

文章目录