Я не очень хорошо разбираюсь в 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 более эффективно.