web-dev-qa-db-ja.com

どのNFSクライアントがディスクIOを生成するかを識別する方法は?

プールサーバーのディスクは100%ビジーです。

私はiotopを確認し、nfsdがディスクIOを消費する最上位のプロセスであると判断しました。

これをさらに絞り込む必要があり、サーバーを使用しているNFSクライアントのどれがこのディスクの原因であるかを判別したいIOボトルネック。続行するにはどうすればよいですか?

enter image description here

enter image description here

5
Gani Rakhmatov

iotop次にo-どのプロセスが読み取りまたは書き込み、あるいはその両方を行っているか、およびHDDに対してどれだけの量が表示されます。

そのプロセスのpidを確認し、netstat -entp | grep <pid>-その方法で、確立されたTCP接続と、それがどのアドレスから来ているかがわかります。 enpを使用して、tcpセッションとudpセッションの両方を確認します。

netstat -anp | grep 2049-IPアドレスとpidを取得する方法で、pidをiotopのpidに関連付けます。

4
13dimitar

通常、ほとんどのIOを使用するクライアントは、ほとんどのネットワークトラフィックも実行するため、数秒間すべてのトラフィックをダンプし、ホストのソートされたリストを作成します(nfsに制限されています)ホスト)ほとんどのトラフィックを使用した:

tcpdump > dump.cap  # (30 secs should be enought), press ctr+ c
grep -o "<something iding an nfs client>" dump.cap | sort | uniq -c | sort -n
1
Jens Timmerman