Понимание "верхнего" использования процессора

Что конкретно означает использование 350% ЦП (процессом) на 4-х процессорной коробке? Процесс представляет собой "mysqld", который в настоящее время "бомбардируется" имитируемым сценарием OLTP.

Любые указатели приветствуются.

6 ответов

Решение

В земле *NIX 100% использование процессора составляет 100% ОДНОГО процессора.

Это относится к многоядерным процессорам так же, как к настоящим многопроцессорным компьютерам.

Итак, вы используете 7/8-й из ваших общих циклов ЦП на MySQL.

Во время бега сверху нажмите "1". Это переключит представление так, чтобы вы могли видеть нагрузку на отдельное ядро ​​/ процессор.

Я только что прочитал интересную статью на эту тему вчера: средняя загрузка Unix. Он объяснит все, что вам нужно знать и многое другое.

Извлечь:

Среднее значение загрузки представляет собой сумму длины очереди выполнения и количества заданий, запущенных в данный момент на процессорах. В Solaris 2.0 и 2.2 средняя загрузка не включала выполняемые задания, но эта ошибка была исправлена ​​в Solaris 2.3.

Учтите, что есть два основных режима отображения нагрузки: "Режим IRIX" и "Режим Solaris". В режиме IRIX (Linux по умолчанию) средняя загрузка 1 означает, что один ЦП полностью загружен (или 25% каждого ЦП в системе с 4 ЦП и т. Д.). В режиме Solaris среднее значение загрузки 1 означает, что все процессоры полностью загружены (так что это фактически эквивалентно загрузке "режима IRIX", деленной на количество процессоров).

Средняя загрузка показывает, сколько процессов ожидает в очереди (с учетом количества процессоров). С одним ЦП средняя загрузка 1,0 означает, что этот ЦП способен оптимально полностью обрабатывать все запросы в очереди - ни один процесс не ожидает ЦП, и циклы ЦП не теряются (т. Е. Простаивают). Средняя загрузка 2,0 (в одноядерной системе) будет означать, что половина процессов будет ожидать возможности запуска на ЦП:-(Средняя загрузка 0,33 будет означать, что в системе так мало нагрузки, что 2/3 времени ЦП в основном не делает ничего, кроме ожидания запуска новых процессов.

Процент CPU, показанный сверху, является мерой того, как часто ядро ​​загружает отдельный процесс для запуска на CPU, усредненное за период времени. Таким образом, 350% в четырехъядерной системе означают, что в течение некоторого времени mysqld будет занимать три полных ЦП и половину времени четвертого ЦП, т. Е. У него так много потоков, что он в значительной степени затопляет ядра с запросами. Процент загрузки ЦП не учитывает ожидающих очередей (в то время как средняя загрузка делает это): это статистика по факту того, что произошло за определенный промежуток времени. Но это, безусловно, показывает, какие процессы используют ЦП в последнее время.

Еще одна основательная статья на эту тему: http://www.linuxjournal.com/article/9001

Их 4 х 100%, поэтому "top" показывает 400% на 4-х процессорной коробке.

Каждый процесс процессора считается 100% . Так что это всего 400% от 4 процессоров.

Другие вопросы по тегам