Высокая загрузка процессора, но лучшие процессы в топе около 0%

11

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

http://cl.ly/2d1g0K3q261r0R0K3e35

Есть ли лучший способ найти причину этого?

Бен
источник
Я должен отметить, что я нахожусь на Ubuntu 10.04
Бен

Ответы:

4

Я думаю, что эта ошибка в вашем случае. Из того, что я вижу из выходных данных, у вас достаточно памяти (обратите внимание на кэшированные 14 ГБ или около того), нет проблем ввода-вывода, но у вас запущены процессы, связанные с xen. Это заставляет меня думать, что это ошибка.

GRS
источник
Это оказалось ошибкой в ​​Ubuntu 10.04 и оборудовании, которое использовало AWS
Ben
7

Нагрузка - это мера рабочей нагрузки, которую система имела на 1, 5 и 15 минут.

Наиболее распространенным заблуждением является то, что Load Average просто связана с использованием ЦП системой.
Нагрузка, однако, включает в себя дополнительные измерения, такие как процессор, ожидающий ввода-вывода, который я считаю вашей проблемой.

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

Простое free -mскажет вам, сколько оперативной памяти и подкачки используется.
Интересная колонка - это свободная колонка -/+ buffers/cache.
Если он близок к нулю, вам не хватает оперативной памяти, и вы должны действовать соответственно.

отметка
источник
1
+1 за обмен. Вы можете использовать iotopили, vmstatчтобы попытаться увидеть, является ли это I / O.
Аксель Кнауф
1
- / + буферы / кэш: 2933 14586
Бен
4

Заметил, что средняя нагрузка довольно высокая (68 вау). Возможно ли, что существует много процессов, которые занимают немного процессорного времени, и, следовательно, занимают все процессорное время? Может быть, эти процессы просто начинаются и заканчиваются очень быстро, поэтому top не может уловить их существование, вы можете попытаться увидеть, может ли это увидеть наверху или нет.

Раймонд Тау
источник
3

Пытаться

iotop

IO было для меня большую часть времени.

MarcoHager
источник
2

Попробуйте использовать:

top -o cpu

-oФлаг заставит сверху заказать процессы по загрузке процессора в порядке убывания.

разбойник
источник
когда я побежал, top -o cpuя получил «верх: неизвестный аргумент« о »»
Бен
Хорошо, попробуйте запустить топ и ударить, oпока он работает. Он должен попросить вас первичный ключ. Введите cpuи нажмите ввод.
Бандит
1
даже в случае сортировки по процессору в верхней части списка выше 1% ничего нет, и в любой момент времени есть только несколько (2-3). Остальные 0%
Бен
На Centos 7.2, по крайней мере, правильная команда для этогоtop -o %CPU
silicrockstar
2

Это могут быть заблокированные файлы на NFS или любой другой вещи, которая блокирует файл, к которому другому процессу необходим доступ

также может быть пропущен настроенный сервис с слишком большим количеством активных потоков

Джон
источник
0

Похоже, загрузка процессора идет из потока. topкажется, не принимать это во внимание. Я недавно видел это на сервере MySQL. там выполняются операторы INSERT, но я не смог получить новые строки с помощью SELECT, потому что какой-то поток mysqld обновлял индекс таблицы. top показывает 100% пользовательскую нагрузку на одно ядро, но каждый процесс, включая mysqld, занимал 0.0% ЦП. часов спустя тот же самый SELECT предоставил ожидаемый набор результатов.

Смотрите также

Получение статистики по процессорам

Процесс htop и использование процессора потоков?

StefanKaerst
источник