Thursday, December 22, 2011

Очистка кэша в Linux

Не буду вдаваться в подробности, но при частых операциях с файлами, особенно с большими, Linux кеширует эти самые файлы в оперативную память. В принципе, в этом нет ничего страшного, потому что как только, занятая закешированными файлами, оперативная память понадобится ядру, она будет частично освобождена для более приоритетной задачи. Для того, чтобы посмотреть сколько оперативной памяти занято и сколько закешировано в данный момент, можно воспользоваться командой free.
С параметром -g она выведет информацию об использовании памяти в гигабайтах
free -g
             total       used       free     shared    buffers     cached
Mem:             3          3          0          0          0          3
-/+ buffers/cache:          0          3
Swap:           16          0         16
а с параметром -m – в мегабайтах
free -m
             total       used       free     shared    buffers     cached
Mem:          4047       3996         51          0        254       3099
-/+ buffers/cache:        642       3405
Swap:        16386          0      16386
Не трудно заметить, что из 4 Gb оперативной памяти под кеш занято 3 Gb. Для тех, кому не нравится такой расклад и кто не может заснуть без того, чтобы на сервере было свободно пару гигов оперативы, есть вариант ;)
echo 3 > /proc/sys/vm/drop_caches
Эта команда очистит кеш, а для особых параноиков – ее можно выполнять по cron’у ;)

No comments:

Post a Comment