Освобождение кеша страниц с помощью echo 3 > / proc / sys / vm / drop_caches не работает?

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 и всей острой части памяти кеш страниц все еще удерживается, пока действительно не перезапустится.

Что вызывает это?

2
задан 14 April 2015 в 18:37

4 ответа

Рассмотрите добавление некоторой области подкачки. Когда Ваша система начнет исчерпывать память, 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
0
ответ дан 15 April 2015 в 04:37

Я всегда делал:

echo 3 | sudo tee /proc/sys/vm/drop_caches
2
ответ дан 15 April 2015 в 04:37

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   
1
ответ дан 15 April 2015 в 04:37

От 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, которую можно было спугнуть.

1
ответ дан 15 April 2015 в 04:37

Другие вопросы по тегам:

Похожие вопросы: