Ps
流程調度資訊抽取
我想提取每個處理器核心上使用率最高的程序,然後將其資訊(PID 等)輸出到文件中。如何使用 top 或 ps 命令來做到這一點?
謝謝。
怎麼樣
ps -k -pcpu -O pcpu,psr
k 標誌是您的排序鍵,即 CPU 百分比。大寫 O 更改輸出以添加 CPU 使用率百分比和程序執行的目前處理器/CPU。你會得到如下輸出:
PID %CPU PSR S TTY TIME COMMAND 15049 5.8 2 S tty2 00:00:28 chrome 14808 4.3 1 S tty2 00:00:21 chrome 14448 3.9 5 S tty2 00:00:21 gnome-shell 15234 1.8 5 S tty2 00:00:08 chrome 14896 1.5 2 S tty2 00:00:07 chrome 14322 1.2 0 S tty2 00:00:06 Xorg
百分比 cpu 是時間列除以實際時間。如果您有一個繁忙的程序然後空閒(但其平均總體仍然高或低,取決於您的預期),您可能會得到奇怪的結果。
要回答“是什麼讓我的 CPU 在最後幾秒鐘內一直很忙”,那麼 top 是一個更好的工具。
另請注意,這些程序會在 CPU 上反彈,因此確定 CPU 執行熱的原因有時可能很難解決。您通常希望這可以將負載分散到它們之間。