Очищение оперативной памяти в Linux

Абсолютно любая операционная система будет работать корректно только в том случае, если оперативная память достаточно освобождена. Именно она будет распределяться между процессами, а если страницы не используются, то они будут отправляться в подкачку на диске. Если память переполняется и не очищается, то будет будет активирован специализированный механизм встроенного ядра.

Совершенно любой процесс, который активируется на компьютере, будет записываться и оставлять за собой кэш. Именно кэш занимает огромное количество памяти. По этой причине необходимо разобраться, как правильно очистить его.

Процесс освобождения кэша

Каждый дистрибутив Линукс позволяет использовать сразу же три параметры для освобождения памяти от скопившегося кэша. Стоит отметить, что не придется завершать процессы. Для начала необходимо запустить консоль от имени суперпользователя:

sudo bash

Далее необходимо выбрать один из параметров. Очищение кэша PageCache:

sync; echo 1 > /proc/sys/vm/drop_caches

Очищение inode и dentrie:

  • # sync; echo 2 > /proc/sys/vm/drop_caches

Очищение inode и dentrie и PageCache:

  • # sync; echo 3 > /proc/sys/vm/drop_caches

Теперь необходимо разобраться, что же конкретно происходит в системе, если использовать все эти приведенные параметры.

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

Если не получится использовать параметр sync, необходимо освободить еще немного места. Однако результат станет еще больше.

Символ ; позволяет системе узнать, что необходимо использовать совершенно другой параметр. Однако перед процессом придется подождать, пока завершится предыдущая задача. Последний параметр echo 1 > /proc/sys/vm/drop_caches будет записывать значение один в файлы /proc/sys/vm/drop_caches. То есть это явный сигнал для ядра, что необходимо очистить установленный вид кэша.

Стоит ли вообще чистить кэш

В первую очередь, если память очень сильно заполняется, то можно очищать исключительно страничный кэш. Именно он занимает действительно очень много памяти. Также очистка кэша в памяти операционной системы Линус необходима для того, чтобы изменять параметры файловой системы или ядра. Если хочется проверить то, как это отражается на скорости операции чтения или записи. В таком случае необходим будет очистить абсолютно весь кэш и сделать это без дополнительной перезагрузки. Это действительно крайне удобно.

Операционная система Линукс создана таким образом, что перед обращение к диску, необходимо будет просмотреть кэш диска. Если имеются нужные данные, то обращение к диску просто не состоится. Если очищать кэш операционной системы Линукс, то и к диску никаких обращений отправлено не будет. К тому же без очищения операционной системы от лишнего кэша, компьютер начнет работать в разы медленнее. Обуславливается это тем фактом, что системе необходимо будет постоянно перебирать огромное количество файлов, чтобы найти что-то нужное. Однако исправить это можно буквально с помощью нескольких параметров для очищения «мусорных» файлов.