Назад | Перейти на главную страницу

Верхняя команда, системный столбец

Я не очень хорошо разбираюсь в Linux, но мне нравится ограниченная доступность. Мы используем виртуализированный сервер Red Hat для разработки программного обеспечения, и одна из вещей, которую я должен сделать, - это проверить, кто загружает процессор, и посмотреть, как мы можем попытаться избежать этого. Я могу достаточно легко расшифровать пользователей и процессы, но если системный столбец использует (скажем) 50,8% ЦП, как я могу узнать, что он делает, и попытаться минимизировать его? Я так понимаю, это все внутреннее ядро, но, похоже, оно работает как минимум на 20%, а обычно и выше. Вот пример вывода:

245 processes: 232 sleeping, 8 running, 4 zombie, 1 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total   47.9%    0.0%   50.8%   0.3%     0.7%    0.0%    0.0%
           cpu00   68.9%    0.0%   29.2%   0.3%     1.3%    0.0%    0.0%
           cpu01   26.8%    0.0%   72.5%   0.3%     0.1%    0.0%    0.0%
Mem:  3816924k av, 3795652k used,   21272k free,       0k shrd,  266548k buff
                   2836408k actv,  541432k in_d,   58992k in_c
Swap: 2097136k av,       0k used, 2097136k free                 3080380k

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
23447 romanmur  25   0  6896 6896   356 R    33.4  0.1   0:09   1 bzip2
23961 tomjose   25   0  1076 1076   960 S     5.4  0.0   0:00   1 make_headers.
23887 paulhewl  25   0  3996 3996   348 R     4.4  0.1   0:00   0 bzip2
 3902 romanmur  15   0  4112 4108  1628 S     2.1  0.1   0:23   0 smbd
23446 romanmur  15   0   708  708   616 S     0.5  0.0   0:00   1 tar
24541 damianwy  24   0  1776 1776   960 S     0.4  0.0   0:00   0 sh
24493 root      24  -1  1372 1372  1100 R <   0.3  0.0   0:00   1 X
 1771 root      15   0  1108 1108   496 S     0.2  0.0  14:26   1 cmaperfd
23262 root      15   0  1308 1308   884 R     0.2  0.0   0:03   1 top
15209 paulhewl  15   0   488  488   428 S     0.2  0.0   0:00   1 tee
 2719 richardp  15   0  6108 6104  2108 S     0.1  0.1   1:02   0 smbd
23857 paulhewl  22   0  1900 1900   652 S     0.1  0.0   0:00   1 make
23886 paulhewl  19   0   712  712   624 S     0.1  0.0   0:00   0 tar
24431 root      23   0  1052 1052   936 S     0.1  0.0   0:00   1 startx
24521 paulhewl  24   0  1056 1056   896 S     0.1  0.0   0:00   1 sh
24523 paulhewl  25   0   416  416   344 R     0.1  0.0   0:00   1 mips-linux-gc

Спасибо!

Я сочувствую затруднительному положению.

top замечательно, но также немного сложно понять, главным образом потому, что система настолько сложна. Если у вас двухъядерный ЦП, например, ЦП, работающий на 100% в верхней части для одной команды, обычно не является проблемой - это просто означает, что одна команда полностью использует одно ядро, но другое ядро ​​должно иметь возможность взять на себя и выполнять другие команды без промедления.

Хорошей отправной точкой для загрузки системы (с первого взгляда) являются три верхних числа справа (введите w если ваш топ этого не показывает) из w страница руководства system load averages for the past 1, 5, and 15 minutes (то же самое относится к top). В основном это то, сколько времени пройдет, прежде чем система сможет обработать следующую команду в очереди ... 1,01 секунды, 3,26 секунды и т. Д. Для начала я бы уделил этим значениям больше внимания, чем другие подробные сведения. чтобы сообщить вам, когда ваша система занята или нет.

Ваш результат выше показывает, что bzip2 является самым большим пользователем ЦП на момент создания снимка.

Я бы порекомендовал продолжить чтение по интерпретации системных инструментов мониторинга ввода-вывода, ОЗУ и ЦП.

Вот некоторые отправные точки, которые, надеюсь, упростят охоту: Верхние столбцы, SysStat и другие инструменты и Использование top более эффективно.