На приведенном ниже снимке экрана показано, что общая загрузка ЦП составляет 3%, но процесс mysqld использует 57%. Это 57% от общих 3% и, следовательно, mysqld использует только около 1,5% ЦП?
верхний скриншот http://img.skitch.com/20090620-cih33piwnnrke6aw41y9p1phwr.jpg
ОБНОВИТЬ: Комментатор ниже попросил, чтобы я нажал клавишу «1» и опубликовал результаты: ключ 1 http://img.skitch.com/20090620-gayja43s44qtw2wkw4aq642e8c.jpg
57,6% означает, что mysqld использует 0,576 одного процессора. Несоответствие, вероятно, будет состоянием гонки между сбором данных для системы в целом и сбором данных для каждого процесса.
РЕДАКТИРОВАТЬ: на основе вашего обновления похоже, что у вас 16 ядер.
57.5% => .575/16 = .036 = 3.6%.
Вот откуда ваши 3%.
Если сложить все проценты простоя и вычесть из 1600%, то получится около 57,5%.
Можете ли вы попробовать нажать цифру 1, когда работает верх, и посмотреть, что произойдет.
Редактировать:
Мистер Неизвестный хорошо об этом говорит.
top говорит: «Если бы у вас было одно ядро процессора, оно было бы занято на 57,5%».
Но у вас 16 ядер. Итак, это 57-е число разбросано повсюду, mysqld является многопоточным и все такое ...
Вид сбивает с толку. Но я думаю, это потому, что верху будет сложнее отображать информацию для каждого ядра ... представьте верхнюю информационную строку с 16 или более ядрами!
Также, если вы сложите все процессорное время "% us"
1.7+1.0+2.3+1.0+7.4+11.1+15.1+8.7 = 48.3
48.3/16 = 3.01875
Отсюда и цифра 3% ...
Кто-нибудь рекомендовал htop
? Не то чтобы это помогло бы с этим конкретным вопросом больше, чем предыдущие ответы, но я считаю своим долгом упомянуть htop
каждый раз, когда я вижу, что кто-то все еще использует top
!
Я не могу сказать, объединяет ли ваша вершина какие-либо несколько процессоров, которые у вас есть, но это все равно не имеет большого смысла.
Что может случиться, так это то, что top не получает значения для каждого процесса и общего использования ЦП одновременно. Есть небольшой промежуток времени, в течение которого mysql мог остановиться или начать использовать много ресурсов ЦП между моментом чтения информации о процессе и считыванием глобального файла. Это могло быть просто условием гонки.
Конечно, это должно было произойти достаточно долго, чтобы вы заметили, поэтому я предполагаю, что это может быть просто странная ошибка где-то в верхней части или в учете ядра.
us: userspace - что вы запускаете над ядром sy: системные вызовы - что работает внутри ядра ni: reniced process id: idle wa: ожидание ввода-вывода hi: аппаратные прерывания - сколько времени тратится на работу с оборудованием si: программные прерывания - сколько времени тратится на обработку программных прерываний (системные вызовы и т. д.)