Возможный дубликат:
Значение строки буферов / кеша в выводе 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 ГБ. Отказ от использования памяти прямо сейчас не дает никаких преимуществ, просто возможность потеряна навсегда. Нет никаких затрат, связанных с использованием памяти, которая есть в системе, и поэтому нет причин не использовать ее столько, сколько вы можете.
Скажем, система освободила больше памяти. Произойдет одно из двух:
Эта память не будет использована позже. В этом случае усилия по освобождению его будут напрасными.
Эта память будет использована позже. В этом случае усилия по освобождению его будут потрачены впустую, так как ему просто нужно будет снова использовать его.
Современные операционные системы освобождают память только тогда, когда у них нет абсолютно никакого выбора. Для этого требуются усилия, и эти усилия просто нужно свести на нет, когда память снова будет использована. Вместо этого память напрямую переходит от одного использования к другому, никогда не освобождаясь. Свободная память необходима только для особых случаев использования, когда память не может быть переведена из одного использования в другое, например, в контексте прерывания. Для этой цели требуется лишь очень небольшой объем свободной памяти, обычно 64 МБ или меньше.