現在のLinuxバージョンではスケジューリングドメインCPU、ハイパースレッディング、NUMAノードなどにプロセスを分散します。
システムに存在するドメインとタスクがドメイン間で配布される方法に関連するいくつかの統計を視覚化したいとします。問題は次のとおりです。
- このシステムにはどのドメインが存在しますか?
- 各NUMAノード/物理コア/その他のドメインは均等に活用されていますか?それとも、プロセスが一部のコアにアクセスするために競合するのに対し、他のプロセスは利用率が低いのでしょうか?
- プロセスはどのくらいの頻度で移行されますか?
そのようなニーズを満たすためにどのツールを使用できますか?
ベストアンサー1
論理CPUからNUMAノード配列への場合:
lscpu
または:
numactl --hardware
また、ノードメモリとノード「距離」のリアルタイム情報も表示します。
プロセスメモリ使用量に関する一般情報:
numastat -p <PID_or_name_pattern>
バッグから
numactl
。より複雑なツールの場合:
numatop
(マンページによると、Intel Xeonと一部のIBMプロセッサのみがサポートされています)
次のコアが忙しく動作している間アイドルコアを見ると、非常に驚くでしょう(もちろん、cpusetを使用してシステムをこの状態に強制的に設定しない限り)。簡単なtop
ヒットを使用して1
各CPUのアクティビティを表示できます。