Високе завантаження процесора, але найвищі процеси у верхній частині - близько 0%


11

У нас є сервер з незвичним високим навантаженням та утилітою процесора, але ми не можемо зрозуміти, чому. Коли ми пробігаємо вгорі, у всіх процесорів процесор здається дуже низьким.

http://cl.ly/2d1g0K3q261r0R0K3e35

Чи є кращий спосіб шукати те, що викликає це?


Слід зазначити, що я на Ubuntu 10.04
Бен

Відповіді:


4

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


Виявилася помилка в Ubuntu 10.04 та обладнання, яке використовує AWS
Бен

7

Навантаження - це міра навантаження, яку система мала на 1, 5 та 15 хвилин.

Найпоширеніша помилка полягає в тому, що Load Average чисто пов'язаний з використанням процесора системи.
Навантаження, однак, включає додаткові вимірювання, такі як процесор, що чекає вводу / виводу, який, на мою думку, є вашою проблемою.

Виходячи із зображення, я здогадуюсь, що у вас залишилось пам'яті та почали обмінюватися даними на диск.

Простий free -mпідкаже, скільки використовується оперативної пам’яті та swap.
Цікава колонка - безкоштовна колонка -/+ buffers/cache.
Якщо він близький до нуля, у вас закінчилася оперативна пам’ять, і слід діяти відповідно.


1
+1 для заміни. Ви можете скористатися iotopабо vmstatспробувати перевірити, чи це I / O.
Аксель Кнауф

1
- / + буфери / кеш: 2933 14586
Бен

4

Помітив, що середня навантаження досить висока (68, вау). Чи можливо, що існує багато процесів, які займають трохи процесора, таким чином, витрачаючи на це весь час процесора? Можливо, ці процеси тільки починаються і закінчуються дуже швидко, тому топ не може зафіксувати їх існування, ви можете спробувати перевірити, чи може він бачити це чи ні.



2

Спробуйте використовувати:

top -o cpu

-oПрапор змусить зверху замовити процеси по завантаженню процесора в порядку убування.


коли я забіг, top -o cpuя отримав "верх: невідомий аргумент" о "
Бен

Гаразд, спробуйте бігти зверху і натискати, oпоки він працює. Він повинен попросити вас первинного ключа. Введіть cpuі натисніть Enter.
Бандит

1
навіть якщо відсортовано за процесором, немає нічого вгорі списку вище 1%, і є лише кілька (2-3) в будь-який момент часу. Решта - 0%
Бен

Щонайменше, на Centos 7.2, правильна команда зробити цеtop -o %CPU
siliconrockstar

2

Це можуть бути заблоковані файли на nfs або будь-яка інша річ, яка блокує файл, до якого потрібен інший процес

також може бути пропущений налаштований сервіс із занадто великою кількістю активних потоків


0

Схоже, використання процесора відбувається з потоку. topсхоже, не враховує цього. Нещодавно я бачив це на сервері mysql. є запущені оператори INSERT, але мені не вдалося отримати нові рядки з SELECT, оскільки деяка нитка mysqld оновлювала індекс таблиці. top показує 100% завантаження користувачів на одне ядро, але кожен процес, включаючи mysqld, був 0,0% процесора. годин пізніше той же SELECT надав очікуваний набір результатів.

Дивитися також

Отримання статистики процесора на одну нитку

'htop' процес та використання процесора?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.