free -m
total used free shared buffers cached
Mem: 24055 22439 1615 8969 16 9096
-/+ buffers/cache: 13326 10728
Swap: 0 0 0
Итак, я изначально здесь, я хотел бы немного больше памяти оперативной памяти, чтобы мой spotify перестал падать, или чтобы я мог запустить другой java-сервер или что-то еще.
Я пытаюсь echo 3 > /proc/sys/vm/drop_caches
, но не играю в кости. Показание то же самое потом. Даже после закрытия chrome и всей острой части памяти кеш страниц все еще удерживается, пока действительно не перезапустится.
Что вызывает это?
Рассмотрите добавление некоторой области подкачки. Когда Ваша система начнет исчерпывать память, OOM (Из Памяти), уничтожитель запустит приложения уничтожения к свободному ресурсы. Много времен, это уничтожает приложения, Вам нужно выполнение.
dd if=/dev/zero of=/mnt/swapfile bs=1024 count=1048576
даст Вам файл подкачки на 1 ГБ в Вашем/mnt каталоге. Затем возвратите его к фактической области подкачки с:
mkswap /mnt/swapfile
и затем включают его:
swapon /mnt/swapfile
Вы также захотите заставить его сохраниться через перезагрузку, так отредактируйте свой/etc/fstab файл для включения:
/mnt/swapfile none swap sw 0 0
Я всегда делал:
echo 3 | sudo tee /proc/sys/vm/drop_caches
Linux (ядро) использует неиспользованную память для кэша страницы (и кэш-буфер - это все еще существует) к для производительности.
free
-> не используемый для чего-либо
echo 3 > /proc/sys/vm/drop_caches
освобождает pagecache, dentries и inodes, который возвратит кэш страницы / кэш-буфер к "свободному".
Ubuntu 14.04
# free -m
total used free shared buffers cached
Mem: 1375 1289 85 5 112 302
-/+ buffers/cache: 875 500
Swap: 0 0 0
# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 87660 115120 309500 0 0 1 9 4 18 0 0 100 0 0
# echo 3 > /proc/sys/vm/drop_caches
# vmstat
fprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 512720 2236 25756 0 0 1 9 4 18 0 0 100 0 0
# free -m
total used free shared buffers cached
Mem: 1375 874 500 5 2 25
-/+ buffers/cache: 847 528
Swap: 0 0 0
buffers
и cached
отбросит, и free
увеличится, но это не означает, что Вы имеете больше памяти в наличии для приложений.
В Вашем случае, смотря + buffers/cache
, который составляет 10728 МБ, это было текущей доступной памятью для приложений.
Для получения дополнительной информации, проверьте , Linux съел мою RAM!
BTW: Fedora и Дуга использование Linux
free
отprocps-ng
вывод отличаются.
вывод комбинирует любителя/кэш и удаленный несколько запутывающее -/+ buffers/cache
.
Мы можем ясно видеть buff/cache
отброшенный, но available
не изменился. Я лично думаю, что это - лучшая реализация/интерпретация.
# free -m
total used free shared buff/cache available
Mem: 1874 117 18 1 1737 1708
Swap: 0 0 0
# echo 3 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 1874 117 1654 1 102 1708
Swap: 0
От sudo
подсказка, вот острота, которую можно использовать:
# free -m && sync && echo 3 > /proc/sys/vm/drop_caches && free -m
total used free shared buff/cache available
Mem: 7840 1958 2775 739 3106 4795
Swap: 7999 0 7999
total used free shared buff/cache available
Mem: 7840 1958 4698 734 1183 4860
Swap: 7999 0 7999
освобожденный выше на 2 гибибайта буфера/кэша. Это пошло от 3,1 ГБ до 1,2 ГБ.
, Таким образом, это работает, как это должно, однако в Вашем случае, у Вас не было буферизованного устройства хранения данных в RAM, которую можно было спугнуть.