---
title: 'Работа с кэшем и буферизированной памятью в Linux | Zomro'
description: 'В рамках работы с Linux, буферная память функционирует как промежуточное хранилище данных, которые временно перемещаются из одного места в другое'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175134-1.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке 



# Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке

30-06-2023

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

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

Теперь давайте разберемся, как можно очистить буферную память и кэш в Linux.

**Очищаем кэш диска в Linux**

Кэш диска или кэш страниц используется ядром Linux во время операций чтения и записи на диск. Для очистки кэша страниц используется следующая команда:
    
    
    
     
    
    
    sync; echo 1 > /proc/sys/vm/drop_caches

Параметр drop_caches позволяет очистить кэш без преждевременного завершения работающих в системе приложений. Для проверки успешности очистки кэша можно воспользоваться командой:
    
    
    
     
    
    
    free -h

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175134-1.jpg)

Сравните показатели свободной памяти до:

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175146-2.jpg)

И после:

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175222-3.jpg)

**Очищаем кэш Dentries и Inodes в Linux**

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

Для очистки dentries и inodes используйте следующую команду с правами пользователя root:
    
    
     
    
    
    sync; echo 2 > /proc/sys/vm/drop_caches'

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175252-4.jpg)

**Очищаем Pagecache, Dentries и Inodes в Linux**

Для очистки Pagecache (кэша диска), dentries и inodes одновременно можно воспользоваться следующей командой.
    
    
    sync; echo 3 > /proc/sys/vm/drop_caches

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175452-5.jpg)

Каждая из этих команд разделена на две части с помощью точки с запятой (**;**), которая располагается между командами **sync** и **echo**. Команда **sync** очищает буфер файловой системы, в то время как команда **echo** записывает в **drop_cache** , очищая кэш, но не завершая работу приложений или сервисов.

Однако использование параметра "...**echo 3 >**" не рекомендуется в производственной среде, поскольку он очищает все – кэш страниц, **dentries** и **inodes** – что может привести к сбоям в системе и повлиять на работу сервисов.

Если вы работаете с правами пользователя 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**

Область подкачки – это область на жестком диске, которая используется при исчерпании оперативной памяти. Иногда возникает необходимость очистить область подкачки на вашем Linux-компьютере. Для этого можно воспользоваться следующей командой:
    
    
     
    
    
    swapoff -a && swapon -a

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175514-6.jpg)

Как результат, swap очищен:

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175620-7.jpg)

Если нужно очистить и кэш, и область подкачки, можно использовать следующую команду:
    
    
    echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

Обязательно проверьте количество свободной памяти до и после выполнения скрипта, чтобы убедиться, что оперативная память была освобождена.
    
    
    free -h

![Работа с кэшем и буферизированной памятью в Linux: Обзор и руководство по очистке - 8](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/06/30/image-20230630175648-8.jpg)

**Заключение**

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

Похожие статьи

[VestaCP: Установка Wordpress в консоли (от создания домена до получения готового сайта)](https://zomro.com/rus/blog/faq/209-vestacp-ustanovka-wordpress-v-konsoli-ot-sozdanija-domena-do-poluchenija-gotovogo-sajta) [Изменение приоритета с IPv6 на IPv4 в Ubuntu и CentOS: Полное руководство](https://zomro.com/rus/blog/faq/471-changing-priority-from-ipv6-to-ipv4-in-ubuntu-and-centos-a-complete-guide) [Руководство по установке и защите phpMyAdmin на Ubuntu 22.04](https://zomro.com/rus/blog/faq/603-guide-to-installing-and-securing-phpmyadmin-on-ubuntu-2204) [Как включить микрофон на VPS с Windows Server 2012, 2016, 2019](https://zomro.com/rus/blog/faq/270-kak-vkljuchit-mikrofon-na-vps-s-windows-2012-2016-2019) [Подключение к серверу по протоколу RDP на Linux с помощью Remmina](https://zomro.com/rus/blog/faq/157-podkljuchenie-k-serveru-po-protokolu-rdp-na-linux-s-pomoschju-remmina)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
