Windows 10系统压缩C盘WSL虚拟磁盘文件

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,下面就可以开始着手压缩该文件了。

Windows 10系统压缩C盘WSL虚拟磁盘文件_第1张图片
Windows 10系统压缩C盘WSL虚拟磁盘文件_第2张图片

2. Docker 清理磁盘数据

docker system prune -af

Windows 10系统压缩C盘WSL虚拟磁盘文件_第3张图片

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

Windows 10系统压缩C盘WSL虚拟磁盘文件_第4张图片

4. 成果检验

再次打开ext4.vhdx文件所在的文件夹,发现体积减少了40%,占用容量越大,压缩效果越明显。

Windows 10系统压缩C盘WSL虚拟磁盘文件_第5张图片

小结

这是笔者在实际的开发工作中所碰到的问题,并找到的一个临时解决方案,可能不是最好的,但一定是见效最快的。如果广大网友有更好的想法和见解,欢迎大家共同探讨,可以在评论区留言,也可以私信笔者,已读必回。

交友小贴士:
博主Github,Gitee同名账号,Follow 一下就可以一起愉快的玩耍了,更多精彩文章请持续关注。

你可能感兴趣的:(linux,运维,服务器,windows,docker)