Добрый день!Сервер на OpenSolaris в качестве NAS с образами виртуальных машин. На сервере стоит агент системы мониторинга Munin, по данным которого сегодня замечен странный рост нагрузки на ЦП (картинка по ссылке). Load average также экспоненциально растет и составляет сейчас 0.6.
При этом с помощью prstat идентифицировать потребляющий процесс не удается, как будто все в норме:$ prstat | head
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
312 root 279M 260M cpu0 1 0 90:46:11 5,5% java/50
559 daemon 2952K 1764K sleep 60 -20 257:13:11 0,3% nfsd/18
6956 root 9856K 3312K sleep 0 0 0:00:00 0,0% munin-node/1
7616 james 5620K 2628K cpu7 59 0 0:00:00 0,0% prstat/1
400 root 2576K 984K sleep 59 0 0:00:00 0,0% in.ndpd/1
150 root 2188K 1152K sleep 59 0 0:00:00 0,0% powerd/4
227 root 3884K 1272K sleep 59 0 0:00:04 0,0% cron/1
171 root 5996K 2128K sleep 59 0 0:00:00 0,0% picld/4
397 root 3576K 1904K sleep 59 0 0:10:37 0,0% hald-addon-acpi/1Сам агент мониторинга получает данные о нагрузке на ЦП с помощью kstat.
Как можно выявить, что нагружает процессор?
Uptime сервера более 2х лет, нагрузка на него монотонная и практически не меняется. За указанный период ничего подобного не наблюдалось.
А что вы хотите найти именно командой "prstat | head"?Запустите просто prstat, полУчите живую картинку. И насколько достоверно показывает все munin? Как-то настораживает 0 для I/O при том, что машина, как я понимаю, является NFS сервером и хранилищем для вирт. машин.
> А что вы хотите найти именно командой "prstat | head"?
> Запустите просто prstat, полУчите живую картинку. И насколько достоверно показывает все
> munin? Как-то настораживает 0 для I/O при том, что машина, как
> я понимаю, является NFS сервером и хранилищем для вирт. машин.prstat я, конечно, пускал. Просто он ведь сортирует по загрузке ЦП, поэтому привел первые строки, процессы ниже - с нулевой нагрузкой.
модуль мунина берет статистику из kstat командой:kstat -p -c misc -m cpu_stat
далее ее парсит. и по этим данным процент загрузки CPU взлетел за последние сутки от чего-то.
Да, сервер держит образы ВМ и раздает их по NFS. сам больше ничего не делает, остальные показатели производительности не менялись.
Как-то настораживает 0 для I/Oда, есть такой момент. фактически, при повышении нагрузки на хранилище растет 'system' на графике. на сервере raid-контроллер adaptec, ввод-вывод идет через его драйвер
Если вы уверены, что нет процессов, кот. занимают проц, то все-таки, наверное, надо покопать в сторону достоверности показаний munin. Нет ли такого, что на самом деле есть некий wait, кот. интерпретируется munin как system.Кстати, вот еще, как с заполненностью файловых систем? df -h, например, можете показать, не секретно? :)
> Если вы уверены, что нет процессов, кот. занимают проц, то все-таки, наверное,
> надо покопать в сторону достоверности показаний munin.вот странно то, что 2.5 года все шло нормально, а тут вдруг поползло нечто. как раз и не знаю, чем еще можно посмотреть процессы и нагрузку, ими создаваемую
> Кстати, вот еще, как с заполненностью файловых систем? df -h, например, можете
> показать, не секретно? :)заполненность я поддерживаю вручную (удаляю накопившиеся снапшоты). на данный момент 50% пулов свободно:
$ zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
data1 2,70T 1,54T 1,17T 56% ONLINE -
my**** 1,81T 260G 1,56T 14% ONLINE -
rpool 9,94G 4,56G 5,37G 45% ONLINE -
ну можно по очереди гипотезы двигать, начать таки с дисковВ момент такой непонятной нагрузки запустите что-то типа iostat -snx 5
Вот там будет видно есть ли wait проценты на отдельных дисках.
И, как ни странно, раскладку по состоянию системы - system, user, wait лучше чем prstat дает старый добрый top. Как я помню, на OpenSolaris он тоже был. Посмотрите, что он дает в моменты такой нагрузки
> ну можно по очереди гипотезы двигать, начать таки с дисков
> В момент такой непонятной нагрузки запустите что-то типа iostat -snx 5
> Вот там будет видно есть ли wait проценты на отдельных дисках.
> И, как ни странно, раскладку по состоянию системы - system, user, wait
> лучше чем prstat дает старый добрый top. Как я помню, на
> OpenSolaris он тоже был. Посмотрите, что он дает в моменты такой
> нагрузкитак дело в том, что эта "нагрузка" наблюдается прямо сейчас по данным munin, 2 года была на уровне 5% а за последнюю неделю выросла до 70%! По iostat все впорядке:
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 fd0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c7t0d0
77.2 1.8 9804.1 128.0 0.0 3.2 0.0 40.2 0 39 c7t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c7t2d0а вот top возвращает Segmentation Fault. Вообще top на opensolaris работающим видел только несколько раз
top рабочий видел много раз, но к делу оно не относится. :)Тогда проверьте, что ли, насколько показания munin соответствуют тому, что будет показывать, например, вывод vmstat 5. Это родная команда, точно должна показывать реальные цифры.
А вообще - вопрос возник из-за показаний munin или вы каким-то образом ощущаете, что сервер действительно медленне стал?
> top рабочий видел много раз, но к делу оно не относится. :)
> Тогда проверьте, что ли, насколько показания munin соответствуют тому, что будет показывать,
> например, вывод vmstat 5. Это родная команда, точно должна показывать реальные
> цифры.
> А вообще - вопрос возник из-за показаний munin или вы каким-то образом
> ощущаете, что сервер действительно медленне стал?по vmstat все ок, загрузка не более 10%!
Вообще насторожил исключительно munin, все работает с той же производительностью. наверное действительно какой-то косяк в математике модуля munin, который обрабатывает данные от kstat. понаблюдаю дальше..Большое спасибо Вам за комментарии!