URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 72792
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Выявление нагружающих дисковую подс..."

Отправлено auto_tips , 24-Ноя-10 21:18 
В Centos 5.x нет нормальной поддержки iotop, без которого трудно понять, какой процесс больше всего грузит дисковую систему.
Но можно использовать скрипт [[http://sourceware.org/systemtap/examples/io/disktop.stp disktop.stp]], написанный для подсистемы динамической трассировки [[http://sourceware.org/systemtap/ SystemTap]].

Чтобы запустить disktop в CentOS нужно:
Установить пакеты
   kernel-debuginfo-`uname -r`
   kernel-debuginfo-common-`uname -r`
(скачать можно здесь http://debuginfo.centos.org/5/

Установить пакет kernel-devel-`uname -r`

Установить systemtap:
   yum install systemtap

Запуcтить disktop:
   stap disktop.stp

Пример работы:

   # stap disktop.stp
   Wed Nov 24 16:16:20 2010 , Average: 351Kb/sec, Read: 1680Kb, Write: 76Kb

   UID    PID     PPID          CMD     DEVICE    T        BYTES
   102    16196    29589        nginx     sda3    R       539535
    48    29429    26950        httpd     sda3    R       161992
    48    29427    26950        httpd     sda3    R       141730
    48    20089    26950        httpd     sda3    R       100256
    102    16196    29589       nginx     sda3    W        57253


URL:
Обсуждается: http://www.opennet.me/tips/info/2487.shtml


Содержание

Сообщения в этом обсуждении
"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Аноним , 24-Ноя-10 21:18 
iotop не годится для тех же целей?

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Yuriy Kulikov , 24-Ноя-10 21:22 
Он не работает в RHEL/CentOS 5.x

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Аноним , 24-Ноя-10 21:23 
Этот iotop в Centos 5.x не работает?
http://download.fedora.redhat.com/pub/epel/testing/5/i386/io...

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено playnet , 03-Дек-10 13:03 
#yum install --enablerepo=epel-testing iotop

#iotop
iotop requires kernel-2.6.18-199.el5 or later, but kernel-2.6.18-194.17.1.el5xen is running

Так что увы.


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Полностью Анонимный Аноним , 24-Ноя-10 21:26 
а вообще жаль что поломали поддержку iotop'а в CentOS'е или Ubuntu 10.x(по крайней мере в дефолтовом ядре)...... Мегаполезная тулза, а до этой статьи я думал, что ещё и незаменимая..

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено follow_me , 24-Ноя-10 21:40 
В смысле ? в Ubuntu 10.x прекрасно работает , да и для Cent придется только ядро пересобрать и будет прекрасно работать

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Полностью Анонимный Аноним , 24-Ноя-10 23:57 
> В смысле ? в Ubuntu 10.x прекрасно работает ,

виноват, на 10.04 работает, но отображается не всё (дефолтное ядро)!

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
27205 be/4 www-data    0.00 B/s    0.00 B/s  ?unavailable?  nginx: worker process
  512 be/3 root        0.00 B/s    0.00 B/s  ?unavailable?  udevd --daemon
    1 be/4 root        0.00 B/s    0.00 B/s  ?unavailable?  init
    2 be/4 root        0.00 B/s    0.00 B/s  ?unavailable?  [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  ?unavailable?  [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  ?unavailable?  [ksoftirqd/0]
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %

> да и для Cent придется только ядро пересобрать и будет прекрасно работать

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


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено pavlinux , 25-Ноя-10 01:30 
> обновлять ядро нынче надо часто, а возни много.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.32.y.git;
$ cd linux-2.6.32.y;
$ git pull;
$ [ ! -e .config ] && cat /boot/config-`uname -r` > .config;
$ make oldconfig;
$ make -j $((`grep processor /proc/cpuinfo | wc -l` + 1))
$ sudo make modules_install
$ sudo make install;
$ sudo /sbin/init 6



"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Полностью Анонимный Аноним , 27-Ноя-10 00:22 
это не всё.
во-первых неплохо было бы оформить всё это в пакеты.
и во-вторых как быть с уведомлениями об обновлениях? так у меня плугин для нагиоса висит, к-ый алертит о доступных секурити апдейтах, а если руками ставить ядро, то подписавшись на рассылку можно забыть о нужном обновлении. иными словами, надо ещё изобретать другой плугин, или вы поделитесь:)?

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено pavlinux , 27-Ноя-10 02:08 
> это не всё.
> во-первых неплохо было бы оформить всё это в пакеты.
> и во-вторых как быть с уведомлениями об обновлениях? так у меня плугин
> для нагиоса висит, к-ый алертит о доступных секурити апдейтах,

Надо сначала определиться, вам Терафлопы или спокойно спать?
Одной из стадий терафлопизации :) - это минимизация всего что только есть.
(в разумных пределах конечно, хотя, зависит от выделенного времени).
Для безопасности это тоже полезно (тем более нафига вам апдейты софта который не используется.)

> а если руками ставить ядро, то подписавшись на рассылку можно забыть
> о нужном обновлении.

Ядро дистрибное выкидывается. Чтоб действительно обновления не мешались.

> иными словами, надо ещё изобретать другой плугин, или вы поделитесь:)?

Ну за последние два года (дальше не помню), из-за замены ядра,
проблем с юзерспейсным софтом не было ваабще.

Кроме только vmware, и то модули, которая немного не успевает за ядром.
Пару раз глюкал nvidia.

И это учитывая, что у меня в основном RC версии, вот щас 2.6.37-rc3-git2

А если поставить 2.6.32.26, так оно есть LTS (длинно временная поддержка).
И будет еще года 3 точно.


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено SnoWLight , 28-Ноя-10 10:44 
> Пару раз глюкал nvidia.
> проблем с юзерспейсным софтом не было ваабще.

У Вас на сервере дрова от NVidia и юзерспейсный софт? Оригинально. Это видимо терминальный сервер, или о чем мы говорим? Или мы говорим о том, что красноглазик мегакрут - поставил линукс на домашнюю машину)))


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Yuriy Kulikov , 24-Ноя-10 21:30 
И этот тоже. Это же testing
Перед тем как предлагать попробуйте его запустить
Он пишет: iotop requires kernel-2.6.18-199.el5

Еще тут можно про это прочитать: https://bugzilla.redhat.com/show_bug.cgi?id=641496


Можно использовать ядра с http://people.redhat.com/jwilson/el5/ но в production не думаю что стоит


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено vasily_pupkin , 24-Ноя-10 22:27 
На продакшне мне было бы ссыкотно systemtap пускать ;)

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено yoris , 24-Ноя-10 22:31 
> На продакшне мне было бы ссыкотно systemtap пускать ;)

Есть преценденты?


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено VecH , 24-Ноя-10 23:25 
Для Ubuntu 8.04 в репках нету iotop
чем мне можно помочь?

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Сергей , 25-Ноя-10 00:36 
Обдумать возможность обновления до 10.04 LTS. Ну а если это не подходит, тогда пусть другие подскажут, что вам делать. :)

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено VecH , 25-Ноя-10 00:41 
8.04 тоже LTS
обновлять на 10.04 не хочу (хотя она уже стоит на домашнем шлюзике)
никак с UpStart подружится не могу, говорю рестартовать squid (и другие) и можно до посинения ждать, но так и не понять закончилось выполнение моей команды или нет
разве что глянуть на PID процесса и выяснить изменился ли он

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Dima , 25-Ноя-10 06:51 
atop -d ?

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено suomynona , 26-Ноя-10 13:10 
Подтверждаю отличная вещь, только не скажу есть ли сборки для RHEL и клонов.

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Gular , 28-Ноя-10 12:16 
хотел это же написать. чем atop не подходит? для rh/centos есть.
в описанной тут утилите минус в том, что надо тянуть дополнительные пакеты.

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено yoris , 28-Ноя-10 12:36 
> хотел это же написать. чем atop не подходит? для rh/centos есть.
> в описанной тут утилите минус в том, что надо тянуть дополнительные пакеты.

1. В случае systemtap видно какой именно диск нагружает процесс
2. У меня в CentOS 5.5 64бит этот atop показывает сильно завышенные данные
   Очень похоже на то что он показывает просто суммарный вывод каждого процесса (не только на диск но и в сети и т..д.)


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено makini , 25-Ноя-10 16:59 
http://debuginfo.centos.org/5/ - не работает, да и кеш гугла выдаёт что debuginfo для последнего кернела (2.6.18-194.26.1.el5) там всё равно нету.

"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено bogus , 26-Ноя-10 15:12 
ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/e...

Там же и common.


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено Andrey , 27-Ноя-10 17:23 
uname -a
Linux centos 2.6.18-194.26.1.el5xen

yum install iotop
Installing:
iotop               noarch       0.4.1-2.el5          epel-testing        53 k
Installing for dependencies:
python-ctypes       i386         1.0.0-2.el5.rf       rpmforge           284 k


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено yoris , 27-Ноя-10 23:04 
>[оверквотинг удален]
> Installing:
>  iotop          
>     noarch      
> 0.4.1-2.el5          epel-testing
>        53 k
> Installing for dependencies:
>  python-ctypes       i386  
>      1.0.0-2.el5.rf    
>  rpmforge        
>  284 k

Установить несложно
Да только при запуске ругается что ядро не подходит. Ошибку я уже писал.


"Выявление нагружающих дисковую подсистему процессов в Linux"
Отправлено serbly , 14-Июл-11 01:01 
Используйте dstat:
http://dag.wieers.com/home-made/dstat/#download

dstat --list
dstat --top-io