Linux

為什麼linux上的CP命令會消耗CPU?

  • December 28, 2011

我只是為兩個包含少量大文件的大目錄執行複制命令,我看到我的 cp 程序在頂部消耗了大約一半的核心:

51116 root      20   0  110m  876  688 D 43.9  0.0   3:23.83 cp -i -r 165 178 temp       

為什麼cp程序會消耗任何cpu?我想它大部分時間都花在磁碟上等待……

謝謝,波阿斯

如果您檢查百分比,在螢幕頂部,您會看到它大部分處於%wa(等待)和(空閒)狀態,而在(使用者空間)%id中很少(如果有的話)。%us

但是在流程線上,它在等待給定流程上花費的所有時間都計入了該流程。如果另一個 CPU 密集型程序同時執行,它會佔用大部分 CPU 而不會影響複製任務,因為它會使用%id%wa時間。

它正在管理這一舉動。這包括查找文件、創建新文件和複製它們。所有這些都需要一些 CPU 時間。由於文件被緩衝的方式,文件寫入與複製操作非同步發生可能非常快。如果文件沒有被緩衝,那麼在訪問文件時 CPU 使用率可能會非常低。

引用自:https://serverfault.com/questions/344774