
我正在編寫一個腳本,每小時在 cronjob 上將記憶體和 CPU 使用情況寫入日誌檔案。日誌檔案將如下所示:
“/n====核心CPU使用率====”
Core0:已使用 59.05%
核心 1:已使用 57.68%
“/n====進程的 RAM/CPU 使用情況====”
PID|使用的 RAM (KB) |使用%CPU |通訊 |使用者
01 | 00003352 | 0.15% | /sbin/launchd |根
11 | 00009220 | 0.65% | /usr/libexec/使用 |根
12 | 00005504 | 7.81% | /usr/libexec/kex | /usr/libexec/kex |根
它很可能會使用一個命令來表示核心的 CPU 使用情況,使用另一個命令來表示進程的 RAM/CPU 使用情況,但我可以使用一個命令來表示兩個或兩個以上的命令。
以下命令顯示了我需要的部分或全部數據,但不幸的是它們不是解決方案:
top
-b
與 Linux 不同,OS X 上沒有指令。這意味著它會自動刷新,因此不適合寫入日誌檔案。取得每個 CPU/核心使用率% 的命令?htop
是一個互動式程序,不適合寫入日誌檔案。無論如何,它都會以 ASCII 條形圖的形式顯示核心的 CPU 使用情況。取得每個 CPU/核心使用率% 的命令?ps
可能會嚴重低估記憶體使用量,例如共用頁面或多個應用程式使用相同的動態連結庫時。否則,我會使用ps -eo "pid rss pmem pcpu comm user"
.mpstat
不在 OS X 上並且無法從自製程式中獲得。
讓我的用戶從命令列安裝自製程式是可以接受的,但讓他們從原始程式碼建置並讓他們手動將命令添加到 bash 是不行的。
另外,所有計時都需要在 cronjob 中完成,因此我無法使用自動刷新命令並在第一個週期後終止它們。
感謝您的幫助。 :)