我有一些 JSON 文件,每个 20 GB,我想用gzip以下文件进行压缩:
gzip file1.json
Run Code Online (Sandbox Code Playgroud)
这占用了一个完整的 CPU 内核,一切正常。
它处理大约 25 MB/s(签入atop),我的硬盘驱动器可以读取 125 MB/s 并且我有 3 个空闲处理器内核,所以我希望在并行压缩多个文件时获得加速。所以我在其他终端运行:
gzip file2.json
gzip file3.json
gzip file4.json
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,我的吞吐量没有增加;每个核心上的 CPU 大约为 25%,而我的 HD 仍然只能以 25 MB/s 的速度读取。
为什么以及如何解决?