OS X でコアごとの CPU 使用率とプロセスごとの RAM/CPU 使用率をログファイルに書き込む

OS X でコアごとの CPU 使用率とプロセスごとの RAM/CPU 使用率をログファイルに書き込む

私は、cronjob で 1 時間ごとにメモリと CPU の使用状況をログ ファイルに書き込むスクリプトを作成しています。ログ ファイルは次のようになります。

"/n====コア別のCPU使用率===="

コア0: 59.05% 使用

コア1: 57.68% 使用

"/n====プロセスによる RAM/CPU 使用率===="

PID | 使用 RAM (KB) | 使用 CPU % | COMM | ユーザー

01 | 00003352 | 0.15% | /sbin/launchd | ルート
11 | 00009220 | 0.65% | /usr/libexec/Use | ルート
12 | 00005504 | 7.81% | /usr/libexec/kex | ルート

おそらく、コア別の CPU 使用率には 1 つのコマンドを使用し、プロセス別の RAM/CPU 使用率には別のコマンドを使用しますが、両方または合計 2 つ以上のコマンドに 1 つのコマンドを使用することもできます。

次のコマンドは必要なデータの一部またはすべてを表示しますが、残念ながら解決策にはなりません。

  • topLinux とは異なり、OS X にはコマンドがありません-b。つまり、自動更新されるため、ログ ファイルへの書き込みには適していません。CPU/コアごとの使用率 % を取得するコマンドはありますか?

  • htopは、ログ ファイルへの書き込みには適さない対話型プログラムです。また、コアごとの CPU 使用率を ASCII 棒グラフとして表示します。CPU/コアごとの使用率 % を取得するコマンドはありますか?

  • psたとえば、ページが共有されている場合や、複数のアプリケーションが同じ動的にリンクされたライブラリを使用している場合、メモリ使用量が大幅に過小評価される可能性があります。それ以外の場合は、 を使用しますps -eo "pid rss pmem pcpu comm user"

  • mpstatOS X には存在せず、homebrew からも入手できません。

ユーザーにコマンドラインから homebrew をインストールさせることは許容されますが、ソースからビルドして bash にコマンドを手動で追加させることは許容されません。

また、すべてのタイミングは cronjob で実行する必要があるため、自動更新コマンドを使用して最初のサイクル後にそれらを強制終了することはできません。

助けてくれてありがとう。 :)

関連情報