いくつかのマルチスレッドテストを作成しましたが、このテストの最大CPU使用量が100 * CPU_NUMBER
現在のコンピュータの最大CPU使用量と同じであることを確認したいと思います。できますか?
UPD 0:私はLinuxシステムについて話しています。
答え1
sar
SARはSystem Activity Reportの略です。 UNIXに似たオペレーティングシステムでCPU、メモリ、およびIO使用量を報告するために使用されますsysstat
。
その後、sysatat
個々のプロセスを監視するように設定できます。協会
収集頻度と sar がレポートを保持する期間は、最初の設定によって決まります。
そのようなデータ収集は「無料」ではないため、本番サーバーに保存しないことに注意してください。
設定したら、コマンドを使用sar
してgrep
スクリプトのレポートからデータを簡単に抽出できますawk
。
使用しているOSを指定していないので、ディストリビューションでsar / sysstatを設定する方法を検索してください。
答え2
pidstat
sysstat
通常、単一のプロセスIDを監視し、各スレッドの統計を印刷するパッケージの一部です。たとえば、実行中の Chrome ブラウザの場合:
$ pidstat -t -p 27680 1
17:17:36 TGID TID %usr %system %guest %CPU CPU Command
17:17:37 27680 - 13.00 3.00 0.00 16.00 0 chrome
17:17:37 - 27680 9.00 1.00 0.00 10.00 0 |__chrome
17:17:37 - 27712 2.00 1.00 0.00 3.00 1 |__Chrome_IOThread
17:17:37 - 27714 2.00 0.00 0.00 2.00 1 |__CompositorTileW
この1秒の例では、CPUが0%のスレッドがたくさんあり、これを削除しました。 100% は CPU が 1 つだけ完全に占有されたことを意味することがわかっています。-I
CPU数で割るフラグがあります。