Подтвердить что ты не робот

Поиск процесса с жестким диском i/o

Интересно, как я могу контролировать, какой процесс выдает всю мою полосу ввода-вывода. Единственная команда, которую я знаю, это gstat, но она показывает кумулятивную информацию. Существуют ли какие-либо инструменты, которые я могу использовать для проверки запущенных процессов для их использования ввода-вывода? Система - FreeBSD 8.3.

4b9b3361

Ответ 1

iotop - это то, что вы хотите. В большинстве дистрибутивов Linux есть пакет для него.

Ответ 2

Ответ - использовать top затем нажать m, чтобы отобразить процент ввода-вывода для процесса/потока.

Ответ 3

Вы можете использовать ktrace, если хотите проследить один процесс:

$ ktrace -ti -p PID

Прочитайте руководство для ktrace, чтобы вы знали, как отключить ktrace перед использованием. Что-то вроде:

$ ktrace -p PID -f debug.txt  
$ ktrace -C
$ kdump -f debug.txt

kdump, так как вывод не читается человеком.

Ответ 4

В соответствии с быстрым исследованием для анализа сети: вы можете использовать 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.

Для дискового ввода-вывода: в Linux я использую sar -q, должно быть что-то подобное.