Ответ 1
iotop - это то, что вы хотите. В большинстве дистрибутивов Linux есть пакет для него.
Интересно, как я могу контролировать, какой процесс выдает всю мою полосу ввода-вывода. Единственная команда, которую я знаю, это gstat
, но она показывает кумулятивную информацию. Существуют ли какие-либо инструменты, которые я могу использовать для проверки запущенных процессов для их использования ввода-вывода? Система - FreeBSD 8.3.
iotop - это то, что вы хотите. В большинстве дистрибутивов Linux есть пакет для него.
Ответ - использовать top
затем нажать m, чтобы отобразить процент ввода-вывода для процесса/потока.
Вы можете использовать ktrace, если хотите проследить один процесс:
$ ktrace -ti -p PID
Прочитайте руководство для ktrace, чтобы вы знали, как отключить ktrace перед использованием. Что-то вроде:
$ ktrace -p PID -f debug.txt
$ ktrace -C
$ kdump -f debug.txt
kdump, так как вывод не читается человеком.
В соответствии с быстрым исследованием для анализа сети: вы можете использовать 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
, должно быть что-то подобное.