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

Максимальный процессор и гиперпоточность

Гиперпоточность удваивает количество логических ядер, но не удваивает ресурсы ЦП.

Linux измеряет использование ЦП в%, выделяя 100% баллов для каждого потока, таким образом сообщая максимум 800% для четырехъядерного ЦП с активированным HT.

Во всяком случае, я понимаю, что при реальном использовании вы не достигнете 800%.

Каков разумный максимум для ЦП, прежде чем я должен начать беспокоиться о своих серверах? 400%? 600%?

Вы достигнете 800% (в пределах ошибки округления), но это не 8-кратное 100% использование.

Дело в том, что гиперпотоки не являются отдельными процессорами, они используют большую часть одних и тех же ресурсов, поэтому использование «перетекает» в другой поток.

Представьте себе одну задачу с одной головкой, которая занимает 100% своего логического ядра. Вы видите 100% использование, и задача выполняется, например, со скоростью 10 камней в секунду.

Теперь вы запускаете вторую задачу и работаете в другом потоке, на том же физическом ядре. Теперь вы видите использование 200%, и обе задачи выполняются, но не со скоростью 10 камней в секунду каждая, скажем, 6 камней в секунду каждая.

Другими словами, работа продвигается на 20% быстрее, чем в одном потоке, но каждый поток менее способен (поскольку у него меньше ресурсов); поэтому, когда все потоки заняты, цифра 100% составляет всего 60% от сценария с одним потоком на ядро.