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

Уменьшит ли добавление оперативной памяти использование ЦП?

У меня был виртуальный сервер с оперативной памятью 2 ГБ, и среднее использование всегда составляло менее 1 ГБ оперативной памяти, поэтому я получил новый для той же цели, и у меня только 1 ГБ оперативной памяти. Но мне кажется, что сейчас он использует больше ЦП.

Меньше оперативной памяти означает, что он будет использовать больше ЦП? Даже если среднее использование плунжера не используется на 100%?

// это веб-сервер с панелью Plesk

Ответ не такой однозначный, но по сути - да.

Имея меньше оперативной памяти, вы обычно заставляете систему использовать больше виртуальной памяти на жестком диске. Это приводит к тому, что ЦП выполняет немного больше работы, например. перемещение данных между RAM и HDD и настройка таблиц страниц, особенно при переключении контекста. Следовательно, приложениям доступно меньше процессорного времени.

Вот почему, если у вас был выбор потратить те же деньги на удвоение объема оперативной памяти или увеличение скорости процессора на 5-10%, обычно лучше потратить их на удвоение объема оперативной памяти.

Использование процессора часто является отвлекающим маневром, потому что вы не знаете, представляет ли оно полезную работу или нет. Если у вас высокая загрузка ЦП, это может указывать на то, что приложение выполняет много полезной работы (хорошо); с другой стороны, это может указывать на то, что приложение очень неэффективно (плохо).

Лучше сосредоточиться на прямых показателях полезной работы, таких как пропускная способность и задержка приложения. Для веб-сервера они будут включать такие показатели, как максимальное количество одновременных пользователей и время, необходимое серверу для ответа на каждый запрос. Затем вы можете сравнить эти показатели с использованием ЦП, чтобы получить представление об эффективности ЦП.

Чтобы ответить на ваш конкретный вопрос: это зависит от узких мест производительности в вашей конкретной среде.

Во многих ситуациях добавление ОЗУ фактически увеличивает загрузку ЦП, потому что это позволяет выполнять более полезную работу - и это хорошо. Например, представьте, что веб-сервер с большой нагрузкой обслуживает файлы. Узким местом производительности, скорее всего, будет дисковый ввод-вывод; приложение будет проводить большую часть времени в ожидании диска, поэтому загрузка ЦП будет довольно низкой. Если вы добавите больше ОЗУ для кэширования файлов на диске, приложение будет тратить меньше времени на ожидание, больше времени на обработку, и поэтому использование ЦП и пропускная способность будут выше.

Также могло получиться иначе. Например, в компьютерных алгоритмах часто приходится искать компромисс между сложностью пространства и сложностью времени; то есть дополнительная оперативная память позволяет приложению использовать меньше ЦП, поэтому использование ЦП будет ниже (или вы получите большую пропускную способность за цикл ЦП). @sybreon дал хороший пример того, как добавление ОЗУ может повысить эффективность использования ЦП, поскольку системе не нужно тратить столько усилий на управление ограниченным ресурсом.