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

Высокое потребление памяти на моем VPS

Возможный дубликат:
Значение строки буферов / кеша в выводе free
Почему Linux странно сообщает о «свободной» памяти?

У меня есть VPS с ОЗУ 12 ГБ, на котором я размещаю пару статических веб-сайтов, 2 небольших магазина на базе Magento и несколько установок WordPress - в целом ничего интересного и в целом низкий трафик.

Я заметил, что потребление памяти у меня довольно велико - пожалуйста, посмотрите на результаты бесплатного m ниже:

             total       used       free     shared    buffers     cached
Mem:      12306384   12137728     168656          0     753360    8629744
-/+ buffers/cache:    2754624    9551760
Swap:      1048564        104    1048460

Также смотрите скриншот из Mumin http://s13.postimage.org/q2xewgnef/Screenshot_4.jpg

Теперь я считаю, что 9,5 ГБ связаны с буфером / кешем, но я считаю это довольно высоким. Это то, о чем я должен беспокоиться, или они в конце концов освободятся? (Где-то читал, но уж точно не эксперт)

Еще одно замечание сбоку: Memcached был установлен один раз и применен к одной из моих установок Magento - может ли это быть связано с этим?

Некоторые советы экспертов были бы действительно признательны.

Вы заходите на фабрику, и все сотрудники работают. «Почему сотрудники не сидят на диване и ничего не делают?», - спросите вы. Ну да, это глупо. Сотрудники должны работать, а не сидеть сложа руки в ожидании работы.

Если вы думаете: «Я хочу, чтобы оперативная память была свободна сейчас, чтобы я мог использовать ее позже», это тоже глупо. Вам не нужно, чтобы оперативная память была свободной сейчас, чтобы использовать ее позже. Вы можете использовать это сейчас и используйте его позже и получите лучшее из обоих миров.

Это не нравится, если вы сегодня используете только 8 ГБ завтра можно использовать 20 ГБ. Отказ от использования памяти прямо сейчас не дает никаких преимуществ, просто возможность потеряна навсегда. Нет никаких затрат, связанных с использованием памяти, которая есть в системе, и поэтому нет причин не использовать ее столько, сколько вы можете.

Скажем, система освободила больше памяти. Произойдет одно из двух:

  1. Эта память не будет использована позже. В этом случае усилия по освобождению его будут напрасными.

  2. Эта память будет использована позже. В этом случае усилия по освобождению его будут потрачены впустую, так как ему просто нужно будет снова использовать его.

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