Назад | Перейти на главную страницу

Высокая загрузка процессора из-за медленных дисков?

Мы запускаем онлайн-приложение на сервере 3-летней давности (четырехъядерный Xeon, 4 ГБ ОЗУ, SAN-диски). На сервере, помимо веб-приложения, размещаются службы SQL, FTP, SFTP, SMTP и POP.

С годами количество клиентов значительно увеличилось, и теперь сервер работает на пределе возможностей, часто достигая 100% ЦП за большие промежутки времени.

Когда я следил за производительностью сервера, я заметил, что Диспетчер задач часто сообщает 100% ЦП (вкладка производительности) или близко к нему, но Процесс простоя системы (вкладка процесса) сообщает что-то вроде 30%.

Вопрос:
Может ли общая нагрузка на ЦП составлять 100%, несмотря на то, что процесс System Idle имеет> 0%? Верно ли мое наблюдение?


ОБНОВИТЬ:

TomTom любезно ответил на мой вопрос и предоставил следующую информацию:

Перефразированный вопрос: На рисунке ниже показано использование ЦП = 100%. Почему не общее использование ЦП 100 - 58 = 42?

Начнем с вашего предположения - это неверно. Задача, ожидающая диска io, будет снята с ЦП до тех пор, пока на нее не ответит планировщик.

Во-вторых, «Процесс простоя системы» не означает «нечего делать». Заглянем в Википедию:

В операционных системах Windows NT процесс простоя системы содержит один или несколько потоков ядра, которые выполняются, когда на ЦП нельзя запланировать другой исполняемый поток. Например, в системе может не быть исполняемого потока или все выполняемые потоки уже работают на другом ЦП. В многопроцессорной системе с каждым ЦП связан один свободный поток.

Там больше информации. Вообще говоря, это не «ЦП ничего не делает», а «ЦП занят данными в процессе ожидания».

Итак, да, можно получить 100% рабочей нагрузки и потратить 30% из них на простой. Потому что это не означает, что эти 30% потрачены впустую. Тем не менее, посмотрите на настройки энергосбережения.

Возможно, что ЦП занят на 100%, но находится в режиме энергосбережения из-за всего ожидания. Изменение режима энергосбережения покажет доступное время процессора. 3 года назад был достаточно молод, чтобы иметь приличную экономию энергии.

И пожалуйста, что «характерно для того времени»? 8 ядер и 64 ГБ памяти с подсистемой SAS на 24 диска? Это был сервер, который я покупал - ах - 4-5 лет назад;)