Наш хостинг - WebXL :: Серверы :: Домены

man linux - справочник linux


3 Февраль 2013

iotop на CentOS 5.9 Final

Утилита iotop показывает статистику нагрузки на жесткие диски, в том числе она показывает процессы и пользователей, которые эту самую нагрузку создают. Но на CentOS 5.9 Final, стандартный iotop из репозитория может не запуститься. В таком случае делаем следующее:
Если при запуске iotop, получаем ошибку:

Could not run iotop as some of the requirements are not met:
- Linux >= 2.6.20 with
  - I/O accounting support (CONFIG_TASKSTATS, CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING)

Не хватает опций ядра.
Пересобираем ядро, включив эти опции (сборка ядра - это отдельная тема, найти и включить эти опции можно воспользовавшись командой make menuconfig)
После установки нового ядра и успешной перезагрузки, iotop, все еще может не заработать и выдать ошибку типа:

Traceback (most recent call last):
  File "/usr/bin/iotop", line 16, in ?
    main()
  File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 567, in main
    main_loop()
  File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 557, in 
    main_loop = lambda: run_iotop(options)
  File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 465, in run_iotop
    return curses.wrapper(run_iotop_window, options)
  File "/usr/lib64/python2.4/curses/wrapper.py", line 44, in wrapper
    return func(stdscr, *args, **kwds)
  File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 457, in run_iotop_window
    process_list = ProcessList(taskstats_connection, options)
  File "/usr/lib/python2.4/site-packages/iotop/data.py", line 375, in __init__
    self.update_process_counts()
  File "/usr/lib/python2.4/site-packages/iotop/data.py", line 431, in update_process_counts
    stats = self.taskstats_connection.get_single_task_stats(thread)
  File "/usr/lib/python2.4/site-packages/iotop/data.py", line 158, in get_single_task_stats
    reply = self.connection.recv()
  File "/usr/lib/python2.4/site-packages/iotop/netlink.py", line 229, in recv
    raise err
OSError: Netlink error: Недопустимый аргумент (22)

Чтож, не отчаивайтесь.
Попробуйте так:
И выполните следующие действия:

yum remove iotop
cd
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
cd /usr/local/src
wget http://man-linux.ru/files/iotop-0.4.4-1.src.rpm
rpmbuild --rebuild iotop-0.4.4-1.src.rpm
rpm -ivh /root/rpmbuild/RPMS/noarch/iotop-0.4.4-1.noarch.rpm

После этого, запускайте - заработало? :)

Ну и пара полезных аргументов команды:

-o

- показывать только процессы, реально использующие жесткие диски в текущий момент времени

-n NUM

- где вместо NUM нужно указать количество повторов, прежде чем программа завершит работу

-b NUM

- не интерактивный режим, для того что бы после выхода из программы, информация оставалась на консоли.
Лично я запускаю примерно так:

iotop -n 5 -o -b

Нет комментариев »

Еще нет комментариев.

RSS лента комментариев к этой записи.

Оставить комментарий

Вы должны войти чтобы оставить комментарий.

2008 - 2017 © man-linux.ru
ВНИМАНИЕ: Перепечатка материалов с сайта разрешена только с указанием ссылки на сайт man-linux.ru