电脑必备
部署包解压慢多半是单线程,我改7z多线程参数后差了三倍
68 0 16
最近上线频繁,每天要解几十个部署包,每个包 1-2GB,Win解压缩拖进去倒是快,但解到一半就卡在单线程上。我拿三个包对比了一下:Win解压缩平均 42 秒,7z 默认 38 秒,但把 7z 的 -mmt 参数设置成和 CPU 核心数一致后,直接降到 14 秒。
具体做法:
- 用命令行
7z x 包名.7z -o目标目录 -mmt=8(我是 8 核,你们按自己核心数改) - 如果包是 zip 格式,7z 也支持多线程解压,但要看压缩时用的算法,deflate 一般能多线程,lzma 不一定
- Win解压缩图形界面我没找到多线程开关,翻设置也只看到“使用所有核心”这种模糊选项,实际解压时任务管理器里 CPU 占用只有 15% 左右
另外我注意到 Win解压缩在解压大包时会在后台驻留一个进程,解完不退出,占着内存。7z 命令行解完就干净退出,适合我写脚本批量跑。
但也不是说 Win解压缩没用,普通用户双击解压、拖拽、右键菜单确实方便,速度也够快。只是像我这种要批量跑部署包、还要把解压结果丢给后续脚本的,7z 命令行更顺手。
问一下:你们解压大包时有没有试过调 -mmt?还是说直接用图形界面等它跑完?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
