Spinlockを監視する方法を知りたいです。私のクライアントでは、CPUソフトロックエラーが発生しており、よく理解している場合は、スピンロックが原因である可能性があります。
複数のチームがR、Python、SASを使用した予測モデリングにサーバーを使用しています。つまり、マルチプロセッシングライブラリを使用して複数の非マッププロセスが並列に実行されることが多い。
スピンロックの数を監視したり、さらにどのプロセスが使用しているかを監視したりすると、それを確認したり、頻繁な失敗(過去3週間に5回失敗)の原因として無視したりすることができます。
監視する方法はありますか?そうでなければ、これらのソフトロックの原因をどのように知ることができますか?
答え1
スピンロックがユーザースペースにある場合、それを監視できない可能性があります。一部のソフトウェアは、スピンロック時間を追跡し、それらを抽出する方法を提供しています。実行可能なプロセス数を使用してエージェントを介して監視できます。実行可能な状態のプロセスが多い場合は、この値を増やす必要があります。
うまく動作するプログラムは、短時間後にスピンロックを放棄します。スピンロックが失敗した場合、ロックを占有して待ちます。プログラムのパフォーマンスが悪い場合は、スピンロックを頻繁に実行するとCPU使用率が高くなる可能性があります。
この場合、時間の経過とともにシステムの状態を記録すると便利です。 sar
定期的なデータロギングはバックグラウンドで実行できます。これは失敗につながる傾向を調べることができるので、あなたと同じ状況で役立ちます。グラフィック出力を提供するツールがありますが、生データを表示する方が便利です。
rrd
継続的な使用量を(循環データベース)ファイルに直接記録し、結果をグラフ化するツールもあります。これはトレンド分析に役立ちます。
バッチまたはバッチに似たプログラムの場合は、最もCPUを使用する動的に良いプログラムを使用することをお勧めします。リソース使用量を監視し、リソース消費が他のユーザーのパフォーマンスに影響を与えないように優先順位を調整するために使用できるさまざまなプログラムがあります。