Есть ли индикаторы того, когда процесс "перешел на темную сторону"?

Я чувствую, что просто использование MEM% и CPU% являются плохими индикаторами для обнаружения таких вещей, как утечки памяти (или другие проблемы, извините за мой ограниченный словарный запас), потому что трудно без достаточных знаний о программе определить, сколько памяти или процессора у программы "следует использовать.

Итак, как мне найти действительно плохие процессы по сравнению с просто дорогими?

2 ответа2

0

Я обычно сначала смотрю на груз. Если 2 из 3 чисел сверху выше 3, то вы движетесь в неправильном направлении. Загрузка более 8 для любого из 3 чисел - серьезная проблема, означающая, что вы запускаете несколько форков одного процесса или ваша машина просто не в состоянии справиться с тем, что вы пытаетесь сделать. Пример: запуск сервера пакетной обработки крутящего момента с большим количеством заданий и слишком малым количеством ядер.

Затем, если один из ваших процессов использует увеличивающееся количество ЦП, это также является плохим признаком проблем с утечками памяти, или это также может быть то, что вы используете компоненты, называемые Chrome/Firefox :) На самом деле Firefox сильно пострадал от использования подключенного плагины, такие как Skype, которые приводят к переполнению в старых версиях.

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

И одним из действительно ранних индикаторов проблем является процесс, помеченный как «несуществующий», так как тогда он становится неработоспособным, как и большинство людей, которых я знаю!

0

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

Сначала мы проверяем PID для процесса по (например, имя процесса - dataserver):

ps aux | grep dataserver
sybxxx     795 52.9  0.0 1190088 22548 ?       S<sl Jun06 38192:51 /sybase/XXX/ASE-16_0/bin/dataserver

Здесь мы знаем, что идентификатор процесса - 795, поэтому мы используем команду pidstat :

pidstat -h -r -u -p 795 5
Time       PID   %usr    %system  %guest  %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
1469520679  795  242.80    5.00    0.00  247.80  24    0.00      0.00     53618888  22548   0.02  dataserver

Из результатов мы знаем, что процесс использует около 2,4 ядра процессора, в то время как в системе установлено 24 ядра. Кроме того, используемая память в процентах составляет около 0,02% от общего объема установленной памяти.

Помимо такой информации, я думаю, что было бы достаточно провести общую проверку системы, чтобы предотвратить нехватку ресурсов.

Во-первых, чтобы проверить загрузку процессора, вы можете использовать команду sar . Чтобы определить плохую производительность системы, вы должны проверить следующий вывод.

В нормальной ситуации вывод iostat будет примерно таким:

sar
12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.70      0.00      0.15      0.01      0.00     99.13

Значение для% idle должно оставаться высоким, в то время как значение% user,% system и% iowait должно быть низким для незанятой системы.

Для проблемы дискового ввода-вывода вы можете проверить результат iostat -x:

Device: rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda     0.07     1.58    0.27    1.04    13.72    20.87    26.54     0.01    7.50   3.33   0.43
sdc     4.09   252.47  483.10    5.90 18616.61  2148.57    42.46     5.88   12.03   1.99  97.29

Это плохой пример, так как вы можете видеть, что процент использования устройства SDC стал 97,29%, что указывает на проблему с дисковым вводом / выводом.

Чтобы проверить, достаточно ли у нас памяти для системы, взгляните на использование подкачки:

sar -B
10:30:01 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
10:40:01 AM   8524.25     47.12    856.03      0.00    263.76      0.00      0.00      0.00      0.00
10:50:01 AM   8391.64     82.94   1116.50      0.08    377.87      0.00      0.00      0.00      0.00

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .