zipコマンドのCPU使用率が高い。

zipコマンドのCPU使用率が高い。

このユーティリティを使用してLinuxでzipファイルを圧縮すると、CPU使用率は100%に達します。

なぜCPU使用率がそれほど高いのかを説明するのに役立つ人はいますか?

私は次のコマンドを使用しています:

zip file_name *.xml

答え1

特定の使用量を超えないように、zipコマンドのCPU使用量を制限できます。たとえば、zipコマンドがCPUの30%以上を使用しないようにするには、次のコマンドを使用できます。

  cpulimit -e zip -l 30

答え2

ファイルの圧縮の可能性が高いほど、実際にはI / Oではなく圧縮(CPUバインディング)を実行するため、圧縮にはより多くのCPUを使用します。 XMLファイルは高い長くて繰り返し特性があるため圧縮可能です。

答え3

タスクが中断されず、多くのCPUパフォーマンスが利用可能な場合、CPU使用率は高くなります。次のように言えます。高いCPU使用率は、コンピュータの速度を簡単に高めることができるので良いです。

簡単に圧縮できるファイルを圧縮する(たとえば、同じテキスト行を100,000回繰り返す)、非常に高速なCPUで実行し、非常に遅いディスク(またはネットワークストレージ)からファイルをロードすると、CPU使用率が低下します。しかし、CPUがI/Oを待っているのでこうなります。ストレージが非常に高速でCPUが非常に遅い場合、CPU時間に比べてI / Oレイテンシが減少するため、CPU使用率が増加します。

CPU使用率が100%未満であることは、CPUに未使用のリソースがあることを意味します。これは一般的に望むものではありません。 CPU使用率の高いプロセスはI / Oボトルネックに影響を与えないため、システム内の他のプロセスに適しています。

複数のプロセスが実際にCPU時間を競っている場合(各プロセスはCPUの100%を使用できます)、どのプロセスがより遅く実行されるかはCPUの優先順位によって異なります。 CPU 優先順位は、 、 を使って確認しpstop設定できます。 cgroupは、プロセスグループの優先順位を指定する強力な概念です。topnicerenice

関連情報