- Очищаем буфер и кеш в системе Linux
- Очистка кеша и буфер в Linux
- Увидеть, что находится в буферах и кеше
- fincore
- Очистка swap в Linux
- Очистка memcached в Linux
- Как очистить кеш в Linux
- Как работает кэш файловой системы Linux
- Использование команды Free для просмотра использования кеша
- Команда Proc Sys VM Drop Caches
- Экспериментальная проверка работы Drop Cache
- Заключение
- Очистка системы Ubuntu
- Как очистить Ubuntu
- 1. Использование дискового пространства
- 2. Дубликаты файлов
- 3. Очистка пакетов
- 4. Старые версии snap пакетов
- 5. Старые пакеты программ
- 6. Неиспользуемые пакеты
- 7. Файлы локализации
- 8. Никому не принадлежащие файлы
- 9. Старые ядра
- Выводы
Очищаем буфер и кеш в системе Linux
Прежде чем приступить к практике, сперва поговорим о буферизации и кэш памяти в операционных системах Linux. Очистка кешей и буферов в Linux снижает производительность системы и в основном полезно только для бенчмаркинга.
Свободная память — неиспользуемая память — это потраченная память впустую.
Очистка кеша и буфер в Linux
Если вы хотите очистить в системе кеш и буфер, то вы можете использовать эту цепочку команд:
Вы можете сигнализировать ядру Linux, чтобы удалить различные аспекты кешированных элементов, изменив числовой аргумент на указанную выше команду.
- Чтобы освободить pagecache:
- Чтобы освободить иноды:
- Чтобы освободить pagecache, dentries и inodes:
ПРИМЕЧАНИЕ. Вышеупомянутые команды должны выполняться от root пользователя.
Если вы пытаетесь сделать это с помощью sudo , вам нужно немного изменить синтаксис, примерно так:
Либо в таком формате:
Увидеть, что находится в буферах и кеше
Посмотрите linux-ftools , если вы хотите анализировать содержимое буферов и кэша в вашей системе. В частности, если вы хотите посмотреть, какие файлы в настоящее время кэшируются.
fincore
С помощью этого инструмента вы можете видеть, какие файлы кэшируются в директории give.
Очистка swap в Linux
первым делом смотрим сколько занимает наш swap места:
В данном случае swap занимает 26 Мб из 8 Гб
Очистим swap следующей командой:
Затем используйте команду, чтобы посмотреть освободился ли swap:
Из вывода видно что swap теперь занимает 0 Мб.
Очистка memcached в Linux
Есть несколько путей очистить кеша memcached.
Первый — это очистка с помощью подключения через telnet. Используем следующие команды:
- localhost — хост где находится memcached (можно указывать и IP-адрес хоста).
- 11211 — порт который использует memcached.
Чтобы узнать порт и IP-адрес в терминале где установлен memcached наберите следующее:
Второй — перезапустить сервис memcached:
Третий — установить утилиту memcflush для очистки кешей:
Теперь очищаем кеш memcached
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Источник
Как очистить кеш в Linux
Главное меню » Linux » Как очистить кеш в Linux
Как работает кэш файловой системы Linux
Ядро резервирует определенный объем системной памяти для кэширования обращений к диску файловой системы, чтобы повысить общую производительность. Кеш в Linux называется кешем страниц. Размер кэша страницы можно настроить, при этом по умолчанию можно кэшировать большие объемы дисковых блоков. Максимальный размер кеша и правила удаления данных из кеша регулируются параметрами ядра. Подход кеширования linux называется кешем обратной записи. Это означает, что если данные записываются на диск, они записываются в память в кэш и помечаются как грязные в кэше, пока не будут синхронизированы с диском. Ядро поддерживает внутренние структуры данных, чтобы оптимизировать, какие данные удалять из кеша, когда в кеше требуется больше места.
Во время системных вызовов чтения Linux ядро проверяет, хранятся ли запрошенные данные в блоках данных в кэше, что будет успешным попаданием в кеш, и данные будут возвращены из кеша без выполнения каких-либо операций ввода-вывода в дисковую систему. В случае промаха кеша данные будут извлечены из системы ввода-вывода, и кэш будет обновлен на основе политик кэширования, поскольку эти же данные, вероятно, будут запрошены снова.
При достижении определенных пороговых значений использования памяти фоновые задачи начнут записывать грязные данные на диск, чтобы убедиться, что он очищает кеш памяти. Они могут повлиять на производительность приложений, интенсивно использующих память и ЦП, и требуют настройки администраторами и/или разработчиками.
Использование команды Free для просмотра использования кеша
Мы можем использовать команду free из командной строки, чтобы проанализировать системную память и объем памяти, выделенной для кеширования. См. Команду ниже:
Из приведенной выше команды free мы видим, что в этой системе 7,5 ГБ ОЗУ. Из них используется только 209 МБ, а 6,5 МБ свободно. 667 МБ используется в буферном кэше. Теперь давайте попробуем увеличить это число, выполнив команду для создания файла размером 1 гигабайт и прочитав файл. Приведенная ниже команда сгенерирует примерно 100 МБ случайных данных, а затем добавит 10 копий файла в один large_file .
Теперь мы обязательно прочитаем этот 1-гигабайтный файл, а затем снова проверим бесплатную команду:
Мы видим, что использование буферного кеша увеличилось с 667 до 1735 мегабайт, что примерно на 1 гигабайт увеличилось в использовании буферного кеша.
Команда Proc Sys VM Drop Caches
Ядро linux предоставляет интерфейс для удаления кеша, давайте попробуем эти команды и посмотрим, как это повлияет на настройку free.
Выше мы видим, что большая часть распределения буферного кеша была освобождена с помощью этой команды.
Экспериментальная проверка работы Drop Cache
Можем ли мы провести проверку производительности использования кеша для чтения файла? Давайте прочитаем файл и запишем его обратно в /dev/null, чтобы проверить, сколько времени требуется для чтения файла с диска. Мы синхронизируем его с командой time. Мы выполняем эту команду сразу после очистки кеша с помощью приведенных выше команд.
На чтение файла ушло 8,4 секунды. Давайте прочитаем это снова, теперь, когда файл должен находиться в кеше файловой системы, и посмотрим, сколько времени это займет сейчас.
Бум! Чтобы прочитать его, потребовалось всего 0,2 секунды по сравнению с 8,4 секундами, когда файл не был кэширован. Чтобы проверить, давайте повторим это еще раз, сначала очистив кеш, а затем прочитав файл 2 раза.
Он работал отлично, как и ожидалось. 8,5 секунды для некэшированного чтения и 0,2 секунды для кэшированного чтения.
Заключение
Кэш страниц автоматически включается в системах Linux и ускоряет ввод-вывод, сохраняя в кеше недавно использованные данные. Если вы хотите вручную очистить кеш, это можно легко сделать, отправив команду echo в файловую систему /proc с указанием ядру удалить кеш и освободить память, используемую для кеша. Инструкции по запуску команды были показаны выше в этой статье, а также показаны экспериментальные проверки поведения кеша до и после очистки.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Очистка системы Ubuntu
Ни для кого не секрет что система в процессе своей работы засоряется. Установка и удаление программ, выполнение скриптов, обновления, неверная установка программ из исходников, ошибки в программах, все это оставляет в системе лишние, ненужные пакеты. Со временем этих файлов может накапливаться достаточно большое количество.
Конечно, Ubuntu, как и любая другая операционная система Linux засоряется намного меньше Windows, здесь нет реестра, и архитектура системы рассчитана так, чтобы оставлять мусор по минимуму. Но кроме системных недочетов, в файловой системе могут накапливаться ненужные файлы пользователей и программ. Поэтому очистка ubuntu от мусора необходима.
Как очистить Ubuntu
В этой инструкции будет рассмотрена очистка системы Ubuntu. Мы рассмотрим как очистить ненужные, не используемые пакеты, удалить пользовательские файлы и уже ненужные файлы настроек, которые остались в системе, а также найдем все файлы, не принадлежащие ни одному пакету, чтобы вы могли сами оценить нужны они вам или нет. Будет рассмотрена очистка кэша в ubuntu и удаление старых ядер.
1. Использование дискового пространства
Очистка системы Ubuntu 20.04 должна начаться с выяснения, какие файлы потребляют больше всего пространства на диске. В этом вам поможет программа ncdu. Это консольная утилита с псевдографическим интерфейсом, но мне она нравится больше всего. Сначала её надо установить. Для этого выполните в терминале:
sudo apt install ncdu
Затем запустите программу:
После завершения анализа вы можете увидеть какие файлы занимают больше всего пространства на жестком диске. Вы внезапно можете обнаружить, что много места занимают логи или ненужные файлы в домашней папке. Вы можете открывать папки клавишей Enter, перемещаться по ним с помощью стрелок вверх и вниз, а также прямо здесь удалять ненужные файлы с помощью кнопки Delete. Более подробно про утилиты для анализа занимаемого пространства читайте в отдельной статье.
2. Дубликаты файлов
Со временем могло накопиться несколько копий одного файла в системе. Если нужна очистка памяти в Ubuntu, то такие файлы важно найти и удалить, прежде чем они заполнят весь жесткий диск.
Для решения этой задачи есть несколько утилит. Утилита FSlint позволяет найти и очистить битые символические ссылки, а также дубликаты файлов в файловой системе.
Для установки программы используйте команду:
sudo apt install fslint
Запустить программу можно из главного меню. В главном окне нужно указать путь, по которому следует искать дубликаты файлов с помощью кнопки Add, затем перейти на вкладку Дубликаты и нажать в самом низу Найти:
Когда поиск будет завершен, утилита выведет все одинаковые файлы группами, и вы сможете прямо здесь отметить те файлы, которые надо удалить или заменить на символическую ссылку с помощью контекстного меню.
Еще одним отличным решением для поиска дублей есть утилита BleachBit, кроме поиска дубликатов файлов, здесь есть специальные приложения для нахождения дублей фото и аудиофайлов по специальным алгоритмам. Подробнее о работе с программой я писал в отдельной статье — как освободить место в Linux.
3. Очистка пакетов
Пакеты программного обеспечения одно из самых слабых мест для засорения системы. Если вы устанавливали много приложений, скорее всего, они потянули за собой большое количество зависимостей, которые после удаления этих приложений не представляют никакой пользы. Поэтому очистка Ubuntu обязательно должна включать удаление ненужных пакетов. Вот несколько команд выполняющих очистку системы:
Удалить неиспользуемые пакеты из кэша
sudo apt autoclean
Очистка кэша в Ubuntu, утилиты apt:
Удаление ненужных зависимостей:
sudo apt autoremove
Вообще хорошей практикой будет удалять зависимости сразу при удалении приложения:
sudo apt autoremove приложение
4. Старые версии snap пакетов
В новых версиях Ubuntu используется пакетный менеджер snap, он тоже оставляет в системе кэш, а также старые версии пакетов после обновления. Эти версии уже не используются но всё ещё занимают место. По умолчанию, это три, это значение можно изменить на две с помощью такой команды:
sudo snap set system refresh.retain=2
Если вы хотите полностью удалить неиспользуемые версии пакетов, для этого понадобится использовать небольшой скрипт:
sudo vi /usr/local/bin/remove_old_snaps.sh
#!/bin/bash
set -eu
LANG=en_US.UTF-8 snap list —all | awk ‘/disabled/
while read snapname revision; do
snap remove «$snapname» —revision=»$revision»
done
Если система установлена достаточно давно, и обновлений было много, то такой скрипт может освободить вам несколько гигабайт места. После сохранения файла дайте ему права на выполнение:
sudo chmod ugo+x /usr/local/bin/remove_old_snaps.sh
5. Старые пакеты программ
При обновлении пакета до более новой версии, его старая версия и её конфигурационные файлы тоже остаются в системе и занимают место на диске. Вы можете освободить немного пространства, удалив такие пакеты.
Откройте менеджер пакетов Synaptec, нажмите кнопку Состояние, затем откройте пункт Не установленные (остались файлы конфигурации). Здесь и будут те пакеты, которые, остались в системе после обновления или неполного удаления.
Поставьте галочки напротив всех таких пакетов, и выберите опцию Отметить для полного удаления. Затем нажмите Правка -> Применить для применения действия.
Аналогичное действие можно выполнить в терминале. Для этого используйте команду:
dpkg -l | awk ‘/^rc/
Можно воспользоваться и командой попроще если у вас установлен aptitude:
sudo aptitude purge
6. Неиспользуемые пакеты
Мы часто устанавливаем различные пакеты, и не все из них нам нужны долгое время. Бывает, что пакет нужен определенному приложению, но после удаления приложения он больше не используется. Или вы установили программу, попользовались ею пару раз, а потом забыли о ее существовании. Такие приложения тоже нужно найти и ликвидировать чтобы очистка ubuntu от мусора была выполнена полностью.
Для этого будет очень полезной программа GTKOrphan. Для ее установки выполните:
sudo apt install gtkorphan
Как обычно, открыть программу вы можете из главного меню.
Она проанализирует систему и покажет все пакеты, которые не находятся ни у кого в зависимостях. То есть те, которые вы устанавливали сами. Теперь вы можете посмотреть какие из них вам не нужны и спокойно их удалить. Не удаляйте все пакеты бездумно, это может сломать вашу систему. Чтобы отобразить больше пакетов кликните по пункту Параметры и выберите Показывать пакеты не только из библиотеки.
7. Файлы локализации
Если вам не нужно переключаться между различными локализациями системы, вы можете просто удалить лишние, не используемые языковые стандарты и освободить немного пространства на диске.
Установите утилиту localepurege:
sudo apt install localepurge
На этапе установки пакета выберите те локали, которые вам нужны, все остальные будут удалены. По умолчанию выбраны en_US и ru_RU для кодировки UTF-8, вы можете выбрать и другие.
8. Никому не принадлежащие файлы
При неправильной установке программ из исходников в системе могут накопляться файлы, не принадлежащие ни одному пакету, после удаления этих программ они могут просто оставаться в системе. Также такие файлы накапливаются при установке программ из бинарных файлов или создаются вами вручную. Одним словом, такие файлы нужно удалять. Для этого будем использовать программу cruft. Для установки выполните:
sudo apt install cruft
Для запуска программы просто выполните её с опцией -r и путём к файлу, куда надо сохранить отчёт:
sudo cruft -r cruftreport
Затем просто откройте полученный файл в с помощью less или cat:
Программа выдаст список всех никому не принадлежащих файлов. Теперь вы можете просмотреть и удалить те, которые считаете ненужными. Только будьте очень аккуратны, чтобы не удалить ничего лишнего. Не забудьте что такие файлы могут создаваться и обычными программами, например, Grub и SSL.
9. Старые ядра
После обновления ядра, особенно в старых версиях Ubuntu старые ядра всё ещё остаются и занимают место в папке /boot. Чтобы из удалить можно использовать утилиту Ubuntu Cleaner. Для её установки выполните:
sudo apt install ubuntu-cleaner
Откройте программу из главного меню или через терминал, затем отметьте пункт Old Kernel. В правой части окна появится список пакетов ядер, которые можно удалить:
Отметьте нужные и нажмите кнопку Clean. Другие способы удалить старые ядра описаны в отдельной статье.
Выводы
В этой статье мы рассмотрели несколько самых распространенных способов того, как выполняется очистка Ubuntu от хлама. Они помогут вам поддерживать систему в чистоте. Если вы знаете другие методы, напишите в комментариях!
Источник