將核心的 CPU 使用率和進程的 RAM/CPU 使用率寫入 OS X 中的日誌文件

將核心的 CPU 使用率和進程的 RAM/CPU 使用率寫入 OS X 中的日誌文件

我正在編寫一個腳本,每小時在 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 中完成,因此我無法使用自動刷新命令並在第一個週期後終止它們。

感謝您的幫助。 :)

相關內容