У меня был виртуальный сервер с оперативной памятью 2 ГБ, и среднее использование всегда составляло менее 1 ГБ оперативной памяти, поэтому я получил новый для той же цели, и у меня только 1 ГБ оперативной памяти. Но мне кажется, что сейчас он использует больше ЦП.
Меньше оперативной памяти означает, что он будет использовать больше ЦП? Даже если среднее использование плунжера не используется на 100%?
// это веб-сервер с панелью Plesk
Ответ не такой однозначный, но по сути - да.
Имея меньше оперативной памяти, вы обычно заставляете систему использовать больше виртуальной памяти на жестком диске. Это приводит к тому, что ЦП выполняет немного больше работы, например. перемещение данных между RAM и HDD и настройка таблиц страниц, особенно при переключении контекста. Следовательно, приложениям доступно меньше процессорного времени.
Вот почему, если у вас был выбор потратить те же деньги на удвоение объема оперативной памяти или увеличение скорости процессора на 5-10%, обычно лучше потратить их на удвоение объема оперативной памяти.
Использование процессора часто является отвлекающим маневром, потому что вы не знаете, представляет ли оно полезную работу или нет. Если у вас высокая загрузка ЦП, это может указывать на то, что приложение выполняет много полезной работы (хорошо); с другой стороны, это может указывать на то, что приложение очень неэффективно (плохо).
Лучше сосредоточиться на прямых показателях полезной работы, таких как пропускная способность и задержка приложения. Для веб-сервера они будут включать такие показатели, как максимальное количество одновременных пользователей и время, необходимое серверу для ответа на каждый запрос. Затем вы можете сравнить эти показатели с использованием ЦП, чтобы получить представление об эффективности ЦП.
Чтобы ответить на ваш конкретный вопрос: это зависит от узких мест производительности в вашей конкретной среде.
Во многих ситуациях добавление ОЗУ фактически увеличивает загрузку ЦП, потому что это позволяет выполнять более полезную работу - и это хорошо. Например, представьте, что веб-сервер с большой нагрузкой обслуживает файлы. Узким местом производительности, скорее всего, будет дисковый ввод-вывод; приложение будет проводить большую часть времени в ожидании диска, поэтому загрузка ЦП будет довольно низкой. Если вы добавите больше ОЗУ для кэширования файлов на диске, приложение будет тратить меньше времени на ожидание, больше времени на обработку, и поэтому использование ЦП и пропускная способность будут выше.
Также могло получиться иначе. Например, в компьютерных алгоритмах часто приходится искать компромисс между сложностью пространства и сложностью времени; то есть дополнительная оперативная память позволяет приложению использовать меньше ЦП, поэтому использование ЦП будет ниже (или вы получите большую пропускную способность за цикл ЦП). @sybreon дал хороший пример того, как добавление ОЗУ может повысить эффективность использования ЦП, поскольку системе не нужно тратить столько усилий на управление ограниченным ресурсом.