zip 命令的 CPU 利用率高

zip 命令的 CPU 利用率高

当我在 Linux 中使用该zip实用程序压缩文件时,CPU 利用率将达到 100%。

谁能帮我解释一下为什么CPU占用率这么高?

我正在使用命令:

zip file_name *.xml

答案1

您可以限制 zip 命令的 CPU 使用率,使其不超过一定的使用率。例如,如果您希望 zip 命令不占用超过 30% 的 CPU,那么您可以使用以下命令:

  cpulimit -e zip -l 30

答案2

文件的可压缩性越高,压缩时使用的 CPU 就越多,因为它实际上执行压缩(受 CPU 限制)而不是 I/O。 XML 文件是高度由于其冗长和重复的性质而可压缩。

答案3

如果任务可以使用大量 CPU 能力而不被中断,则 CPU 利用率较高。您可以说:CPU 利用率高是好事,因为它可以轻松提高计算机的速度......

如果您要压缩一个可以轻松压缩的文件(例如,重复同一行文本 100000 次),请在极快的 CPU 上执行此操作并从极慢的磁盘(或网络存储)加载文件,然后 CPU 利用率会减少。但它会这样做,因为 CPU 一直在等待 I/O。如果存储非常快而 CPU 非常慢,则 CPU 利用率会增加,因为 I/O 等待时间相对于 CPU 时间会减少。

CPU 利用率低于 100% 意味着您的 CPU 有未使用的资源。这通常不是您想要的。具有高 CPU 利用率的进程对于系统上的其他进程来说甚至更好,因为它不会影响它们的 I/O 瓶颈。

当多个进程真正竞争 CPU 时间(每个进程都可以使用 100% CPU)时,哪些进程执行得更慢取决于 CPU 优先级,可以使用ps或查看并使用、和top进行设置。 cgroup 是一个用于确定进程组优先级的强大概念。topnicerenice

相关内容