У меня есть блейд-сервер с CentOS 6.4.
В состоянии простоя он показывает постоянную среднюю нагрузку более 1. Однако я подготовил другую машину с таким же оборудованием и версией CentOS, и ее средняя загрузка остается около 0, когда она простаивает.
Вывод команды top выглядит следующим образом:
top - 10:23:04 up 156 days, 18:15, 1 user, load average: 1.08, 1.35, 1.31
Tasks: 534 total, 1 running, 533 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65959040k total, 10021484k used, 55937556k free, 167092k buffers
Swap: 32767992k total, 13884k used, 32754108k free, 7084024k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20951 root 20 0 15396 1608 952 R 0.3 0.0 0:01.52 top
1 root 20 0 19352 684 472 S 0.0 0.0 0:01.64 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:15.31 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:12.32 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:17.45 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:16.26 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:18.51 ksoftirqd/1
Какой процесс приводит к тому, что средняя загрузка системы превышает 1 при полном бездействии?
Средняя нагрузка не означает то, что вы думаете. Дело не в мгновенном использовании ЦП, а скорее в том, сколько процессов ожидают запуска. Обычно это из-за того, что многим нужен процессор, но не всегда. Распространенный виновник - это процесс, ожидающий ввода-вывода - диск или сеть.
Попробуйте бежать ps -e v
и ищем флаги состояния процесса.
state The state is given by a sequence of characters, for example, "RWNA". The first character indicates the run state of the process:
D Marks a process in disk (or other short term, uninterruptible) wait.
I Marks a process that is idle (sleeping for longer than about 20 seconds).
L Marks a process that is waiting to acquire a lock.
R Marks a runnable process.
S Marks a process that is sleeping for less than about 20 seconds.
T Marks a stopped process.
W Marks an idle interrupt thread.
Z Marks a dead process (a "zombie").
Это из ps
manpage, так что вы можете найти там более подробную информацию - R
и D
процессы, вероятно, представляют особый интерес.
Ваш главный результат содержит:
Tasks: 534 total, 1 running, 533 sleeping, 0 stopped, 0 zombie
Этот 1 запущенный процесс является причиной вашей средней нагрузки. Найдите его и выясните, чем он занимается. (Изменить: как упоминалось в комментариях - это running
процесс вероятно top
. Так что игнорируйте это)