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

Диагностировать причину загрузки системы Linux

Я понимаю, что системная нагрузка связана с использованием ядра, например ввода-вывода или сети. Если вы не уверены, что у вас слишком высокая нагрузка на любой из этих двух элементов, какие рекомендуемые шаги можно предпринять, чтобы отследить, что вызывает высокую нагрузку на систему? Мы устанавливаем dstat и опубликуем результаты дополнительных нагрузочных тестов.

Мы видим нагрузку в столбце system% через sar. Пользовательская нагрузка нормальная, и система в целом использует процессор примерно на 50-70%.

заранее спасибо

Высокая нагрузка без высокой загрузки ЦП обычно сводится к вводу-выводу и в основном к блочным устройствам (жестким дискам). Теперь ваши программы могут сильно читать / писать на блочное устройство, потому что они не оптимизированы или потому что в вашей системе недостаточно памяти.

Вы можете использовать бесплатную программу cli, чтобы увидеть потребление памяти:

% free -otm
             total       used       free     shared    buffers     cached
Mem:         31728       2057      29670          0         65        733
Swap:            0          0          0
Total:       31728       2057      29670

Если вы меняете местами, это может объяснить нагрузку.

Затем вы можете использовать «поверх». Сверху - «продвинутый верх». Запустите его с интервалом в 1 секунду (по умолчанию 10) и упорядочите процессы по использованию диска:

atop -D 1

Atop окрашивает узкое место в красный цвет, поэтому он обычно сразу показывает, что вызывает нагрузку.