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%,占用容量越大,压缩效果越明显。
👋小结
这是笔者在实际的开发工作中所碰到的问题,并找到的一个临时解决方案,可能不是最好的,但一定是见效最快的。如果广大网友有更好的想法和见解,欢迎大家共同探讨,可以在评论区留言,也可以私信笔者,已读必回。
👬 交友小贴士:
博主Github,Gitee同名账号,Follow 一下就可以一起愉快的玩耍了,更多精彩文章请持续关注。