カーネルモジュールが疑わしいときに高い負荷問題を解決する方法は?

カーネルモジュールが疑わしいときに高い負荷問題を解決する方法は?

Ubuntu 14.04.4 LTSでバグが見つかりました。 NFSクライアントがNFSサーバーへの接続を失うと、システムの負荷は30以上に急増します。

負荷を軽減する唯一の方法は、NFS共有のマウント解除を遅らせることです。umount -l /path/to/share

問題は、システムリソースの使用量を知らせるすべての一般的なツールが役に立たtopないhtopということiotopですperf top。高い。sarmpstat

私の仮定は、NFSがLinuxカーネルに実装されているので、これらのツールは何が起こっているのかを単に見ることができないということです。この問題を解決するより良い方法はありますか?伝統的なツールはうまくいかないようです。 Linuxで実行キューを監視する方法はありますか?

ベストアンサー1

次のプロセス数を計算して負荷平均を計算します。

  1. 現在実行中
  2. 実行する準備が整いましたが、スケジューリングを待っています(他のプロセスがCPUを占有しています)
  3. I/Oスタンバイtop遮断ps

そして加重平均(時間経過に応じて1分、5分、15分値取得)を基準とします。

したがって、高い負荷平均は、CPUが過負荷になったことを意味しません(%Cputopなどを確認して確認)。 NFSサーバーにアクセスしようとしたときに、複数のプロセスがブロックされたことを意味できます。

おすすめ記事