どのプロセスがすべての I/O 帯域幅を消費するかを監視するにはどうすればよいでしょうか。私が知っている唯一のコマンドはgstat
、累積情報を表示します。実行中のプロセスの I/O 使用状況を検査するために使用できるツールはありますか? システムは FreeBSD 8.3 です。
38758 次
4 に答える
12
答えは、プロセス/スレッドごとの IO パーセンテージを表示するためtop
に then hitを使用することです。m
于 2012-12-25T05:16:49.550 に答える
10
iotopはあなたが望むものです。ほとんどの Linux ディストリビューションには、そのためのパッケージがあります。
于 2013-09-10T03:11:32.210 に答える
2
単一のプロセスをトレースする場合は、ktrace を使用できます。
$ ktrace -ti -p PID
ktrace のマニュアルを読んで、使用する前に ktrace を無効にする方法を理解してください。何かのようなもの:
$ ktrace -p PID -f debug.txt
$ ktrace -C
$ kdump -f debug.txt
出力は人間が判読できないためです。
于 2012-12-24T13:14:57.177 に答える
0
簡単な調査によると、ネットワーク分析の場合:lsof -i
またはsockstat
(http://www.freebsd.org/cgi/man.cgi?query=sockstat&sektion=1) を使用して、特定のプロセスによって開かれたソケットを識別できます。tcpdump
その接続の詳細を確認するために使用します (http://www.thegeekstuff.com/2010/08/tcpdump-command-examples/#more-5676)。trafshow
と を試すこともできますiftop
。
ディスク I/O の場合: 私が使用する Linux ではsar -q
、似たようなものが必要です。
于 2012-12-24T13:14:04.597 に答える