Windows 10
压缩C盘WSL
虚拟磁盘文件
👋小叙
公司电脑运行了一段时间后,系统就变得十分卡顿,作为程序员的直觉,立马想到可能是内存满了。
快捷键一顿输出,Ctrl + x
配合选项 t
打开任务管理器一看,内存使用量是43%,显然,这并不是它的锅。CPU使用量最高也仅有30%。那这到底是什么原因导致的呢?
就在一筹莫展之际,弹窗警告显示磁盘空间不足,罪魁祸首终于找到,接下来就看我的表演了…
👋系统环境
Windows 10 操作系统
WSL2虚拟机
Docker version 20.10.20
(理论上支持所有docker版本)Windows PowerShell
👋操作指南
1. 搜索超大文件(文件大小 > 4GB)
打开文件资源管理器,进入C盘,在搜索框内输入 "大小:超大",即可定位到超大文件。 搜索后发现ext4.vhdx文件有将近16GB,下面就可以开始着手压缩该文件了。
2. Docker 清理磁盘数据
docker system prune -af
3. 压缩WSL2
虚拟硬盘
注意:压缩磁盘需要使用管理员权限打开CMD或者PowerShell,我这里使用的是PowerShell。
指令如下:
# 首先关闭WSL和Docker服务,以免影响到正在运行的程序。 net stop com.docker.service wsl --shutdown # 启动磁盘分区管理器 diskpart # 选择要压缩的虚拟磁盘文件,我的用户名是 kunlo,读者可根据系统实际用户动态调整用户名。 select vdisk file="C:\Users\kunlo\AppData\Local\Docker\wsl\data\ext4.vhdx" # 挂载虚拟硬盘,并将虚拟磁盘设置为只读 attach vdisk readonly # 压缩虚拟磁盘 compact vdisk # 分离虚拟磁盘 detach vdisk # 退出命令解释器或当前批处理脚本 exit # 启动Docker服务 net start com.docker.service
4. 成果检验
再次打开ext4.vhdx
文件所在的文件夹,发现体积减少了40%,占用容量越大,压缩效果越明显。
👋小结
这是笔者在实际的开发工作中所碰到的问题,并找到的一个临时解决方案,可能不是最好的,但一定是见效最快的。如果广大网友有更好的想法和见解,欢迎大家共同探讨,可以在评论区留言,也可以私信笔者,已读必回。
👬 交友小贴士: