Быстрый сброс памяти в Puppy Linux и не только

В одной из посвященных Puppy Linux темах мы рассмотрели и разобрали одну важную проблему, с которой нередко приходится сталкиваться пользователям этой портативной системы – переполнение памяти при работе в браузерах. В таких случаях реально помогает, хотя и не решает кардинально проблемы очистка браузерного кэша, однако в Linux имеются и другие временные хранилища, которые могут быть очищены.

Системный кэш и буферная память

Как и в Windows, в Linux существует системный кэш, использующийся для обеспечения более быстрого доступа к данным. Очистка кэша может привести к кратковременному снижению производительности, с другой стороны, она может предотвратить переполнение памяти и зависание системы.

Буферной памятью в Linux называют область памяти, в которой хранятся перемещаемые между приложениями и/или устройствами данные, например, данные обмена между CPU и RAM, между RAM и физическим диском (флешкой), а также данные, передаваемые от одной запущенной в системе программы к другой.

Существует несколько типов буферной памяти – страничный, дисковый и кэш ядра. В Linux буферная память обычно контролируется ядром, которое самостоятельно решает, когда хранящиеся данные могут быть удалены, но в некоторых случаях они могут быть очищены в принудительном порядке пользователем.

Очистка дискового кэша

Для очистки дискового кэша в Puppy Linux вы можете использовать следующую команду, исключающую завершение работы запущенных приложений:

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

Free - sync

Убедиться, что кэш очищен можно командой free или free -h, выполнив ее до команды очистки дискового кэша и после нее.

В случае с работающей в ОЗУ Puppy Linux разница в использовании памяти будет небольшой, однако в системах, установленных традиционным образом на жесткий диск, она может быть весьма значительной.

Free buff cache

Помимо дисковой, вы можете выполнить очистку кэша Dentries и Inodes – структуры каталогов и области файловой системы, в которых Linux хранит метаданные о файлах.

Команда очистки очень похожа и выглядит она следующим образом:

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

Наконец, заменив в команде 2 на 3, можно очистить дисковый кэш, Dentries и Inodes одновременно.

Примечания:

  • В серверных ОС использование третьего варианта команды может привести к сбою системы.
  • Если команды выполняется от имени обычного пользователя, а не root как в Puppy Linux, команды очистки будут иметь синтаксис sudo sh -c echo 1 >/proc/sys/vm/drop_caches.

Создание скрипта

Чтобы не вводить каждый раз команды очистки памяти вручную в консоли, рекомендуем записать их в командный файл.

Создайте в текстовом редакторе новый файл и вставьте в него следующий код:

sync

echo 1 > /proc/sys/vm/drop_caches

Drop caches

Сохраните файл в каталоге /root, дав ему произвольное название и расширение .sh, например, clear-cache.sh.

Clear cache sh

Чтобы сделать скрипт исполняемым, откройте консоль в расположении root (Puppy Linux root открывается по умолчанию) и выполните команду:

chmod +x clear-cache.sh

Chmod

После этого скрипт можно будет запускать простым по нему кликом.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *