Linux Q

Граждане Линуксоводы!

Имею вопрос: есть ли к mpstat какой-нибудь GUI, ну вроде как в винде Performance Monitor? Мне надо смотреть load по ядрам, а то есть подозрение, что программа (чужая) в смысле affinity маленько безобразничает.

Дополнительное пожелание: уметь самплить чаще чем раз в секунду, 100-200 ms были бы в самый раз.

Про mpstat -P ALL я в курсе, только вот ядер - 24 штуки и никакая разумная история, ну хоть за 10 секунд, на экране никак не помещается.

Comments

Можно вроде kernelshark для этого приспособить...

В-принципе, да, про это место я как-то не подумал.

Vtune (или KernelShark про который я впервые услышал) покажут мне все просто в разрезе конкретного процесса, а не системы целиком.

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

Vtune конечно же покажет все. Инструментирующий колл граф, единственная его часть которая покажет только один процесс, убрали уже год назад.
Насчет Vtune я уверен на 100%, так как его поддержкой занимаюсь последние 5 лет, и постоянно сам использую.

кстати на AMD Vtune будет нормально работать, т.к. для этой задачи никакие особые каунтеры не нужны.

Попробовал на i7 (AMD не у меня), получил не просто раскладку по загрузке, вот прямо таки картинку по thread interaction.

Счастья даже больше чем надо :)

откуда столько ядер???

4 процессора по шесть ядер в каждом, например i7-980X :-)

тут 2 по 12 ))

Ну, 24 потока будут на 2 по 6 ядер + HT .
Я сначала про него и подумал, а оно оказалось AMD.

Два 12-ядерных AMD попались на пути.

а что сами АМДшники предлагают для этого?

А они вроде всякий софт для мониторинга под Linux не предлагают?

Не знаю что такое mpstat, но может быть tuna поможет?
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.0/html/Realti...

Более-менее продвинуный мониторинг это умеет из коробки. У нас стоит geneos, но он для такой задачи - из пушки по воробьям.
Nagios не смотрел, возможно там это тоже уже решено.
Я бы в лоб сделал - скриптом парсить вывод mpstat или /proc и складывать в базу. А базу можно в любую позу поставить - хочешь картинку, хочешь табличку.

Не-не, мониторинг - это раз в N минут и долгая история. А если мониторинг пускать 10 раз в секунду, то он испортится (да и не даст).

А мне нужно ну вот пару десятков-сотню последних значений, за последние 10 секунд. Т.е вот просто глазами посмотреть, не прыгают ли треды между ядрами так, как им прыгать не надо (должна быть стабильная загрузка ядер, а не трепыхание)

Тогда ой. Хотя, если вся простыня mpstat не нужна, можно один нужный столбец транспонировать в строчку. Как-то так:
mpstat -P ALL 1 | perl -ane ' print "\n" if(/usr/); print "$F[2]\t" ;'
Но вре равно, не чаще раза в секунду.

Да это понятно.

Удивительно, что нет готового тула.

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

Да ну нафиг, значит total load - потребность есть, а per core - нету?

я думаю http://collectl.sourceforge.net/ можно назвать готовым тулом для такого.

До десятка ядер можно смотреть и через gkrellm
до 20, боюсь, не поместятся