Linux
為什麼linux上的CP命令會消耗CPU?
我只是為兩個包含少量大文件的大目錄執行複制命令,我看到我的 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 使用率可能會非常低。