Как опустошить буферную и кэш-память в Linux

Linux предоставляет эффективный механизм управления памятью, который обеспечивает оптимальное использование памяти различными программами и процессами. Однако, если несколько приложений занимают огромные куски оперативной памяти, вы можете захотеть очистить кэш.
Существует несколько способов очистки кэша, не убивая запущенные процессы в системе. В этом руководстве мы рассмотрим, как можно очистить буфер памяти и очистить кэш в системе Linux.
Перед тем, как продолжить, давайте, прежде всего, посмотрим, что такое буфер и кэш.
Что такое буферная и кэш-память в Linux
В более широком смысле, буфер – это область памяти, которая временно хранит данные в пути, т.е. данные, которые перемещаются из одной точки в другую. Он содержит метаданные, которые помогают повысить производительность записи.
С другой стороны, кэш – это область временного хранения, в которой хранятся часто используемые данные для более быстрого доступа. Когда данные хранятся в кэше, доступ к ним в последующих случаях становится намного быстрее, так как данные извлекаются из кэшированной копии, а не из оригинала.
Давайте посмотрим, как очистить буфер памяти и кэш в Linux.
Очистка дискового кэша в Linux
Страничный кэш, также называемый дисковым кэшем, – это кэш, используемый ядром Linux при чтении и записи на диск. Чтобы очистить страничный кэш, выполните следующую команду:
sync; echo 1 > /proc/sys/vm/drop_caches
Опция drop_caches очищает кэш без преждевременного завершения работы приложений в системе Linux. Чтобы убедиться, что кэш был очищен, выполните следующую команду.
free -h
Оцените разницу между свободной памятью до и после очистки кэша.

В первом случае вы видите, что свободная память составляет 342 МБ. После очистки кэша страниц она увеличивается до 1,3 ГБ. Кроме того, обратите внимание, что буфер/кэш был очищен с 1.3GB до 329MB.
Очистка кэш-памяти Dentries и Inodes в Linux
Dentries – это структура данных, которая представляет собой каталог или папку. Dentries можно использовать для создания или хранения кэш-памяти. Inodes – это часть файловой системы Linux, которая хранит метаданные о файле. К ним относятся размер файла, местоположение, разрешения, права собственности и т.д.
Чтобы очистить дентри и иноды, выполните следующую команду от имени пользователя root:
sync; echo 2 > /proc/sys/vm/drop_caches'
Очистка Pagecache, Dentries и Inodes в Linux
Чтобы очистить Pagecache (дисковый кэш), dentries и inodes одной командой, просто выполните следующую команду.
sync; echo 3 > /proc/sys/vm/drop_caches
Давайте уделим минуту и разберемся с опциями вышеприведенной команды.
- Все вышеприведенные команды разделены на две части с помощью точки с запятой ( ; ) , которая появляется между командами sync и echo.
- Опция sync очищает буфер файловой системы, а команда echo записывает данные в drop_cache и таким образом очищает кэш, не убивая ни одного приложения/сервиса.
- Затем вернемся к запятой, которая инструктирует оболочку выполнить первую команду и после ее выполнения выполнить следующую. Таким образом, в данном случае сначала выполняется команда sync, а затем команда echo.
ПРИМЕЧАНИЕ : Для очистки дискового кэша первая команда является наиболее безопасной как в корпоративной, так и в производственной среде, поскольку «. echo 1 > ….» очищает только PageCache.
Третий вариант «. echo 3 >» не рекомендуется использовать в производственных средах, поскольку он очищает все – кэш страниц, дентри и иноды – что может привести к поломке системы и повлиять на производственную нагрузку.
Команды, которые мы только что рассмотрели, предназначены для выполнения от имени root. Если вы выполняете их от имени пользователя sudo, синтаксис немного изменится, как показано на рисунке.
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches' sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches' sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
Хорошая ли идея освобождать буфер и кэш в Linux?
Linux периодически очищает данные из кэша, чтобы освободить память, необходимую другим запущенным программам. Кэш предназначен для динамического заполнения и очистки, чтобы освободить больше памяти для других приложений.
Очистка кэша имеет тенденцию замедлять чтение с диска всего на несколько секунд, так как система теперь будет вынуждена извлекать данные с диска вместо того, чтобы извлекать их из кэша. Через некоторое время ресурсы, необходимые системе, снова будут загружены в кэш.
Таким образом, очистка кэша и буфера безопасна, так как это не оказывает большого влияния на производительность системы.
ПРИМЕЧАНИЕ : На производственных или корпоративных серверах НЕ РЕКОМЕНДУЕТСЯ очищать кэш, так как это может привести к снижению производительности сервиса.
Как очистить файл подкачки в Linux?
Подкачка swap – это область на жестком диске, которая используется, когда память RAM почти исчерпана или исчерпана. В некоторых ситуациях вам может потребоваться очистить пространство подкачки на вашем компьютере Linux.
Чтобы очистить файл подкачки, просто выполните следующую команду от имени root
swapoff -a && swapon -a
Вы можете очистить и кэш, и файл подкачки, объединив их в одну команду, как показано на рисунке.
echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf ' %s ' 'Ram-cache and Swap Cleared'
Не забудьте выполнить команду free -h до и после выполнения скрипта, чтобы убедиться, что оперативная память была освобождена.
# free -h
Вывод
В этой статье мы рассмотрели, как очистить буфер и кэш памяти путем отправки команды echo в файловую систему /proc. Вообще говоря, система Linux регулярно очищает кэш, когда ситуация требует такого действия. Однако, если вам нужно вручную очистить кэш и буфер, эти инструкции вам пригодятся.
На этом все, если вам понравилась статья, не забудьте оставить нам свой ценный отзыв в комментариях

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

Многие люди, особенно пользователи Windows (и некоторые из MacOS), думают, что пользователи Linux любят усложнять нам жизнь. На самом деле, я пришел, чтобы прочитать комментарии людей, которые называют нас «психами, которые просто хотят колебаться» или что-то в этом роде. Нет ничего более далекого от реальности. Эти люди думают так, потому что верят, что ВСЕ делается с терминала . Конечно, они никогда не трогали Linux . Терминал используется, но иногда он служит для экономии времени или выполнения более сложных задач, таких как очистить кеш браузера.
Понятно, что любой браузер позволяет удалять кеш из какой-то части своих опций, но эта статья ориентирована немного на тех, кто чувствует себя комфортно. с Терминалом или тем, кто хочет сохранить эти команды в сценарии для запуска из док-станции или любого ярлыка. В этом посте мы поговорим о том, как это сделать для Firefox, браузера, который по умолчанию включен в большинство дистрибутивов Linux, и Google Chrome, еще одного из наиболее часто используемых вариантов для решения некоторых задач.
- 1 Очистить кеш Firefox
- 2 Как это сделать в Chrome
- 3 Бонус
Очистить кеш Firefox
Перед этим стоит сделать резервную копию всего. Для этого мы напишем эти команды одну за другой:
mkdir -p ~/.mozilla/firefox/backup ~/.cache/mozilla/firefox/backup mv ~/.mozilla/firefox/*.default/*.sqlite ~/.mozilla/firefox/backup mv ~/.mozilla/firefox/*.default/sessionstore.js ~/.mozilla/firefox/backup mv ~/.cache/mozilla/firefox/*.default/* ~/.cache/mozilla/firefox/backup
Если мы хотим восстановить файлы, мы изменим порядок каталогов.
Чтобы удалить кеш браузера из Терминала, напишем следующее:
rm ~/.mozilla/firefox/*.default*/*.sqlite ~/.mozilla/firefox/*default*/sessionstore.js rm -r ~/.cache/mozilla/firefox/*.default*/*
Из вышесказанного «rm» означает «удалить», «-r» говорит об удалении каталогов и их содержимого, а все остальное — это пути. Мы помним, что «~ /» относится к нашему личному каталогу. После ввода команд перезапускаем навигатор.
ПРИМЕЧАНИЕ: теория гласит, что звездочек, которые я добавил за каталогами «.default», не должно быть, но я добавил их, потому что в моем случае он сказал мне, что его там нет. Звездочки означают «всех», кто что-то соблюдает. Добавляя один впереди (*.) И один сзади, мы сообщаем ему все, что содержится в слове «default», независимо от того, есть ли что-то впереди или позади него.
Как это сделать в Chrome
Как и в Firefox, сначала мы сделаем резервные копии файлов Chrome. Мы будем использовать следующие команды одну за другой:
mkdir -p ~/.google/chrome/backup mv ~/.config/google-chrome/Default/ ~/.google/chrome/backup mv ~/.cache/google-chrome ~/.google/chrome/backup
Как и в Firefox, для восстановления копий мы изменим порядок каталогов.
Чтобы удалить кеш Chrome, мы будем использовать эти команды:
rm ~/.config/google-chrome/Default/ rm ~/.cache/google-chrome
Бонус
Отлично. Мы уже знаем, как удалить кеш Firefox и Chrome из Терминала, но стоит ли оно того? С моей точки зрения, я бы сказал и да, и нет. Вы читаете пользователя, которому не нравится делать несколько щелчков мышью, чтобы выключить или перезагрузить компьютер. Настолько, что давным-давно я создал несколько файлов .desktop, чтобы добавить команды «poweroff» и «reboot» в док-станцию Ubuntu. И это то, что для меня, если мы хотим, чтобы удаление кеша нашего браузера было эффективным, Лучше всего создать файл .desktop, который мы можем добавить к различным панелям и докам. доступно в Linux.
Это то, что мне нужно изменить размер изображений JPG до 830 пикселей в ширину, если эти изображения находятся на моем рабочем столе. Чтобы убедиться, что это работает нам нужно будет создать два файла: текстовый файл, содержащий все строки, и файл .desktop, который выполняет первый файл. Кроме того, мы также позаботимся о том, чтобы .desktop можно было разместить практически в любой панели или док-станции. Для этого сделаем следующее:
- Открываем текстовый редактор.
- Копируем и вставляем команды для удаления кеша, каждая по одной строке. Как вариант, их можно поместить в одну строку, добавив «&&» без кавычек.
- Сохраняем файл.
- Мы щелкаем по нему правой кнопкой мыши и отмечаем поле «это исполняемый файл» или что-то еще, что он помещает в используемый нами дистрибутив Linux.
- Далее мы собираемся создать файл .desktop, для которого мы создадим еще один текстовый файл со следующим:
[Вход на рабочий стол]
Type = приложений
Terminal = ложь
Имя = кеш
Значок = / home / pablinux / Images / cache.png
Exec = ПУТЬ К ФАЙЛУ
GenericName [es_ES] = Удалить кеш
- Из приведенного выше мы можем указать имя (Name), которое мы хотим, в «Icon» мы помещаем путь к значку, к которому мы хотим иметь прямой доступ, в «Exec» мы помещаем путь к другому текстовому файлу и в «GenericName» мы ставим комментарий по вкусу потребителя.
- Следующее, что нужно сделать, это поместить ярлык или .desktop в хорошо доступное место, такое как панель (например, в MATE или Plasma) или док-станция (как в Ubuntu). В случае настраиваемых графических сред, таких как KDE или MATE, мы можем перетаскивать .desktop куда захотим, но в других операционных системах это не так. В других операционных системах мы должны помещать .desktop в путь к ярлыкам остальных приложений, как и usr / доля / приложения в Ubuntu и производных. Поместив туда ярлык, он определит его как приложение, и мы сможем добавить его в избранное.
Как вы думаете, что лучше: использовать метод, описанный в этом посте, или пройтись по настройкам браузера и удалить кеш вручную?
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » Общие » Как очистить кеш браузера из командной строки
Будьте первым, чтобы комментировать
Очищаем буфер и кеш в системе Linux

Прежде чем приступить к практике, сперва поговорим о буферизации и кэш памяти в операционных системах Linux. Очистка кешей и буферов в Linux снижает производительность системы и в основном полезно только для бенчмаркинга.
Содержание
- 1. Очистка кеша и буфер в Linux
- 2. Увидеть, что находится в буферах и кеше
- 2.1. fincore
Свободная память – неиспользуемая память – это потраченная память впустую.
Очистка кеша и буфер в Linux
Если вы хотите очистить в системе кеш и буфер, то вы можете использовать эту цепочку команд:
free && sync && echo 3 > /proc/sys/vm/drop_caches && freetotal used free shared buff/cache available Mem: 24729752 12590140 2704836 354028 9434776 11361684 Swap: 8388604 27592 8361012 total used free shared buff/cache available Mem: 24729752 12555168 10743364 354028 1431220 11397284 Swap: 8388604 27592 8361012Вы можете сигнализировать ядру Linux, чтобы удалить различные аспекты кешированных элементов, изменив числовой аргумент на указанную выше команду.
- Чтобы освободить pagecache:
echo 1 > /proc/sys/vm/drop_caches- Чтобы освободить иноды:
echo 2 > /proc/sys/vm/drop_caches- Чтобы освободить pagecache, dentries и inodes:
echo 3 > /proc/sys/vm/drop_cachesПРИМЕЧАНИЕ. Вышеупомянутые команды должны выполняться от root пользователя.
Если вы пытаетесь сделать это с помощью sudo , вам нужно немного изменить синтаксис, примерно так:
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches' sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches' sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'Либо в таком формате:
echo "echo 1 > /proc/sys/vm/drop_caches" | sudo sh echo "echo 2 > /proc/sys/vm/drop_caches" | sudo sh echo "echo 3 > /proc/sys/vm/drop_caches" | sudo shУвидеть, что находится в буферах и кеше
Посмотрите linux-ftools , если вы хотите анализировать содержимое буферов и кэша в вашей системе. В частности, если вы хотите посмотреть, какие файлы в настоящее время кэшируются.
fincore
С помощью этого инструмента вы можете видеть, какие файлы кэшируются в директории give.
fincore [options] files. Options: -J, --json use JSON output format -b, --bytes print sizes in bytes rather than in human readable format -n, --noheadings don't print headings -o, --output output columns -r, --raw use raw output format -h, --help display this help -V, --version display versionОчистка swap в Linux
первым делом смотрим сколько занимает наш swap места:
free -mtotal used free shared buff/cache available Mem: 24150 12258 10391 356 1500 11121 Swap: 8191 26 8191В данном случае swap занимает 26 Мб из 8 Гб
Очистим swap следующей командой:
sudo swapoff -a && sudo swapon -aЗатем используйте команду, чтобы посмотреть освободился ли swap:
free -mtotal used free shared buff/cache available Mem: 24150 12258 10391 356 1500 11121 Swap: 8191 0 8191Из вывода видно что swap теперь занимает 0 Мб.
Очищаем сетевой кеш samba
Для очистки сетевого кэша Samba воспользуемся следующей командой:
sudo net cache flush
Очистка memcached в Linux
Есть несколько путей очистить кеша memcached.
Первый – это очистка с помощью подключения через telnet. Используем следующие команды:
telnet localhost 11211
flush_all
quit- localhost — хост где находится memcached (можно указывать и IP-адрес хоста).
- 11211 — порт который использует memcached.
Чтобы узнать порт и IP-адрес в терминале где установлен memcached наберите следующее:
netstat -natpl | grep "memcache[d]"tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 755/memcachedsudo ps aux | grep memcachememcache 755 0.0 0.2 420652 17608 ? Ssl апр14 2:14 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pidВторой – перезапустить сервис memcached:
sudo service memcached restartТретий – установить утилиту memcflush для очистки кешей:
sudo apt install libmemcached-tools -yyum install libmemcached-* -yТеперь очищаем кеш memcached
memflush --servers=localhost:11211Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.
Ссылки в шапке страницы.
Заранее всем спасибо.RSS
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR
- nginx: [warn] protocol options redefined
- Как включить поддержку linux в windows 11
- Запускаем скрипт после запуска сети Ubuntu 22.04
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать
В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать
Как очистить кэш-память и буфер кэш-памяти в Linux

Много раз системы Linux могут испытывать проблемы с нехваткой памяти после некоторого времени работы. Причина в том, что Linux использует много памяти для дискового кеша, так как ОЗУ тратится впустую, если не используется. Кэш используется для хранения данных, которые часто используются операционной системой. Чтение данных из кэша происходит намного быстрее, чем чтение данных с жесткого диска. Операционная система может получать данные из кэша в памяти. Но если данные не были найдены в кеше, они считываются с жесткого диска. Так что не проблема очистить кэш-память.
В этой статье объясняется, как очистить кеш памяти на сервере Linux.
Если вы хотите очистить кеш на удаленном сервере, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVERДалее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVERЗатем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTAОчистить кэш буфера памяти
Есть три варианта очистки кеша памяти Linux. Используйте один из следующих в соответствии с вашими потребностями.
- Чтобы очистить память страниц, dentries и inode:
sync; echo 3 > /proc/sys/vm/drop_cachesЕсли вы используете не пользователя root, а пользователя с привилегиями sudo :
sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'- Чтобы очистить память dentries и inode:
sync; echo 2 > /proc/sys/vm/drop_cachesЕсли вы используете не пользователя root, а пользователя с привилегиями sudo :
sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'- Чтобы очистить только память кэша страниц:
sync; echo 1 > /proc/sys/vm/drop_cachesЕсли вы используете не пользователя root, а пользователя с привилегиями sudo :
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'Запланируйте Cron для регулярной очистки кеша
Рекомендуется запланировать cron для автоматической очистки кэша через равные промежутки времени с помощью crontab.
Используйте команду crontab -e для редактирования cron в вашей системе:
crontab -eДобавьте следующую строку:
0 * * * * sync; echo 3 > /proc/sys/vm/drop_cachesПриведенный выше cron будет запускаться каждый час и очищать кеш памяти в системе. Вы можете настроить cron для запуска в любое время с заданными временными интервалами, для получения дополнительной информации прочитайте этот учебник.
Найти кеши, используемые в Linux
Используйте free команду, чтобы узнать, как кэш-память используется системой Linux:
free -mhВы должны увидеть выходное сообщение, подобное следующему:
total used free shared buff/cache available Mem: 1.9Gi 524Mi 146Mi 73Mi 1.2Gi 1.1Gi Swap: 0B 0B 0BПараметр -mh удобен для более удобного чтения результатов вывода. С этой опцией легко различать мегабайты и гигабайты.
Вывод
В этом руководстве мы увидели, как очистить кэш памяти и буфер кэша в Linux.
Supportaci se ti piacciono i nostri contenuti. Grazie.
Noviello.it Newsletter
Ricevi gli ultimi approfondimenti direttamente nella tua casella di posta!