Как освободить буферы и кеши Linux



Попробуйте наш инструмент устранения неполадок

Пользователи могут захотеть освободить буфер и кеш-память Linux, если посчитают, что они занимают слишком много места в ОЗУ. Обычно это происходит потому, что они привыкли к средам Windows или Macintosh, которые не так агрессивно кэшируют. Это может снизить производительность. Тем не менее, рекомендуется синхронизировать оперативную память и дисковое хранилище, что также часто рассматривается как освобождение кешей Linux, хотя это и не с технической точки зрения.



Для этого вам нужно будет работать с терминала. Найдите терминал в Ubuntu Dash или одновременно удерживайте Ctrl, Alt и T. Пользователи LXDE, Xfce4 и KDE могут захотеть щелкнуть меню «Приложения» или «Whisker», выбрать «Системные инструменты» и открыть «Терминал».



Метод 1: использование команды синхронизации

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



Именно это и делает вызов команды sync без каких-либо других аргументов. Он обновляет файлы на диске с любыми изменениями, ожидающими записи. Тип синхронизировать в командной строке и нажмите Enter. Вы вообще не увидите никаких выходных данных, и вы можете сделать это после того, как любая команда была запущена до этого.

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



Метод 2: Полное освобождение буферов Linux

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

Предполагая, что вы полностью понимаете опасность этого, запустите бесплатно && синхронизация && эхо 3> / proc / sys / vm / drop_caches && бесплатно в терминале. Поскольку это такая длинная команда, вы можете выделить ее здесь и скопировать. Чтобы вставить его в терминал, либо используйте опцию «Вставить» в меню «Правка», либо, в отличие от самой синхронизации, вам нужно будет запустить это из командной строки. Поместите sudo перед командой, если вы вошли в систему как обычный пользователь. Эта строка гарантирует, что вы увидите вывод, указывающий на то, что кеш-память действительно очищается.

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

3 минуты на чтение