- 5 простых способов освободить место на жестком диске в Ubuntu
- 1. Почистите кэш APT (и делайте это регулярно)
- 2. Удалите старые ядра (если они больше не нужны)
- 3. Удалите программы и игры, которыми никогда не пользуетесь (и не лгите себе!)
- 4. Используйте системный календарь, вроде BleachBit
- 5. Оставайтесь обновленным
- Вывод
- Как освободить место для линукса
- Как освободить память Linux
- Как освободить кэш память в Linux
- Виды кэша в Linux
- Нужно ли очищать кэш вообще?
- Автоматическая очистка кэша
- Настройка размера кэша памяти
- Как очистить память подкачки
- Как освободить память занимаемую процессами
- Выводы
5 простых способов освободить место на жестком диске в Ubuntu
Давайте представим, что у вас не хватает места на жестком диске — что вы предпримете?
В отличие от Windows, где есть встроенные инструменты для дефрагментации и очистки диска, в Ubuntu все не так очевидно.
Что делать, если вы уже очистили корзину и удалили все завалявшиеся.ISO образы? Как раздобыть еще места на диске?
В этой статье вы узнаете 5 супер простых (и в некоторых случаях жутко очевидных) способов вернуть себе захламленные гигабайты памяти.
1. Почистите кэш APT (и делайте это регулярно)
Звучит очевидно, но возможно вы этого еще не делали.
По умолчанию Ubuntu хранит все обновления и скачки в кэше, просто на случай,если они вам снова понадобятся.
Это полезно, если вы часто устанавливаете и удаляете программы или у вас плохой интернет.
Но обратная сторона медали состоит в том, что кэш apt может быстро заполнить несколько сотен мегабайт. Эта команда помогает узнать сколько именно:
du -sh /var/cache/apt/archives
Чтобы почистить кэш apt просто выполните следующую команду.
sudo apt-get clean
Эта команда удалит ВСЕ пакеты, хранящиеся в apt кэше, вне зависимости от давности и важности. Если у вас медленное, пропадающее или плохое интернет соединение, возможно стоит пропустить этот шаг.
2. Удалите старые ядра (если они больше не нужны)
А к этому шагу нужно подходить с осторожностью.
Иметь несколько ядер для загрузки может быть удобно, особенно если вы вдруг заметите, что что-то не так с самым свежим.
Если вы не любитель постоянных свежайших обновлений, то в хранении ядер нет большой необходимости.
В Ubuntu старые ядра удаляются одной простой командой:
sudo apt-get autoremove —purge
Данная команда удалит только те ядра, которые а) больше не нужны б) были установлены из Ubuntu архива через системные обновления. Если вы устанавливали ядра вручную или через сторонний PPA — вам придется немного замарать руки.
3. Удалите программы и игры, которыми никогда не пользуетесь (и не лгите себе!)
Наверняка у вас найдется множество программ, которыми вы никогда не пользуетесь. Возможно, вы установили их после прочтения крутого отзыва, рекламы или просто для решения одной давней задачи.
Как бы то ни было, если программа больше не нужна, а место нужно — смело удаляйте.
Стандартные программы, которые обычно удаляют это веб браузеры (вы собираетесь пользоваться Opera, Epiphany, Midori или Min?), музыкальные проигрыватели (их может быть целая куча) и игры, которые казались крутыми в магазине Steam, но оказали тухлыми.
Не обманывайте себя словами «а вдруг пригодится». Прелесть программ в том, что они от вас не убегут. Особенно в Linux, где от установленного приложения вас отделяет всего одна команда в терминале.
Чтобы удалить конкретное приложение, выполните:
sudo apt-get remove package-name1 package-name2
Чтобы удалить ненужные пакеты и зависимости (потому вы удалили другие пакеты или заменили новыми версиями), выполните:
sudo apt-get autoremove
4. Используйте системный календарь, вроде BleachBit
Описание, как чистить систему может занять в 10 раз больше времени, чем если бы вы читали про каждое приложение, кэш, логи и процессы.
BleachBit экономит вам время. Он напоминает CCleaner, только для Linux. Программа может удалить практически все и всегда, но пользоваться нужно с умом.
Она может очистить кэш больше 70 популярных приложений (в том числе и браузеров); подчищает старые файлы, историю браузера; и чистит ненужные логи.
Вы можете установить BleachBit в Ubuntu 16.04 LTS прямо из центра ПО Ubuntu. Запустите и отметьте части, которые хотите почистить. Нажмите «предпросмотр» и получите оценку того, как много места освободится, затем нажмите «очистить», чтобы удалить.
5. Оставайтесь обновленным
Самый очевидный пункт из этого списка, это слушать рекомендации людей. В отличие от Windows, где с каждым обновлением появляется все больше мороки, пакеты обновлений Linux чаще освобождают место, чем занимают его.
Поэтому прежде, чем в следующий раз откладывать обновление на 56 МБ librandom-package102, боясь потерять место — подумайте дважды!
Вывод
Главное запомнить 2 основных пункта из этого списка: первый и последний.
- Чистите кэш apt время от времени
- Устанавливайте патчи, обновления и фиксы
Источник
Как освободить место для линукса
Пользуясь Linux, можно столкнуться с ситуацией, когда диск переполнен. Вы хотите освободить место на диске, но когда смотрите сколько занимают Ваши файлы, то оказывается что они занимают намного меньше пространства, чем занято на диске…
Выглядит это приблизительно так:
Файлы могут быть визуально удалены, но еще заняты какими-либо процессами. Поэтому их невозможно удалить по-настоящему с диска. Для нахождения таких файлов используйте команду:
# lsof -nP | grep ‘(deleted)’
Эти файлы почемены как «(deleted)», но до сих пор находятся на диске.
Аналогично можно найти с помощью awk:
# find /proc/*/fd -ls 2> /dev/null | awk ‘/deleted/
Мы увидим номер процесса и номер файлового дескриптора (fd), который нам и нужен.
Вручную можно «освободить» эти файлы так:
Где $PROC — номер процесса, а $FD — номер файлового дескриптора
# truncate -s 0 /proc/$PROC/fd/$FD
Чтобы пройтись по всем таким файлам разом, выполняем эту команду ( ВНИМАНИЕ! УБЕДИТЕСЬ В ТОМ, ЧТО ВЫ УВЕРЕНЫ В ТОМ, ЧТО ДЕЛАЕТЕ 🙂 ) :
# find /proc/*/fd -ls 2> /dev/null | awk ‘/deleted/
Останется только подтверждать «усечение» кнопками y и Enter.
Вот теперь на диске есть столько свободного места, сколько должно быть:
Итак, в этой заметке мы рассмотрели как освободить место на диске от удаленных файлов (deleted) на Linux. Если Вам есть чем поделиться по этой теме, пишите в комментариях.
Источник
Как освободить память Linux
Как и любая другая операционная система, Linux очень эффективно работает с оперативной памятью. Доступная память свободно распространяется между процессами, неиспользуемые страницы сбрасываются в раздел подкачки на диске, а в случае переполнения памяти, срабатывает специальный механизм, встроенный в ядро, который анализирует все процессы и уничтожает виновника.
Когда любой процесс пишет данные на диск, они сохраняются ядром в отдельном кэше. Очень часто этот кэш занимает достаточно много места. В этой статье мы рассмотрим как освободить память в Linux, а точнее, как очистить созданный программами кэш, а также как вычислить и завершить процессы, которые потребляют больше всего памяти.
Как освободить кэш память в Linux
В каждом дистрибутиве Linux можно использовать три команды чтобы очистить кэш памяти linux. Причем вам не придется завершать никаких процессов. Сначала войдите в консоль от имени суперпользователя:
Затем выполните одну из команд. Очистка кэша PageCache:
sync; echo 1 > /proc/sys/vm/drop_caches
Очистка inode и dentrie:
sync; echo 2 > /proc/sys/vm/drop_caches
Очистка inode и dentrie и PageCache:
sync; echo 3 > /proc/sys/vm/drop_caches
А теперь давайте рассмотрим что происходит при выполнении этих команд.
Утилита sync заставляет систему записать все кэшированные, но еще не записанные данные на диск. Это нужно чтобы освободить как можно больше памяти. По умолчанию данные после записи на диск не удаляются из кэша, это нужно для того, чтобы программа могла быстрее их считать при необходимости.
Если не выполнить команду sync мы тоже освободим немного места, но после ее выполнения результат будет лучше.
Символ разделения ; дает знать оболочке, что перед тем как выполнить другую команду, нужно дождаться завершения работы первой. Последняя команда echo 1 > /proc/sys/vm/drop_caches записывает значение 1 в файл /proc/sys/vm/drop_caches. Это дает сигнал ядру, что нужно очистить выбранный нами вид кэша.
Виды кэша в Linux
А теперь давайте рассмотрим виды кэша, которые позволяют очищать эти команды, а также как все это работает.
PageCache или страничный кэш — это место, куда ядро складывает все данные, которые вы записывали или читали из диска. Это очень сильно ускоряет работу системы, так как если программе во второй раз понадобятся те же данные, они просто будут взяты из оперативной памяти. Но по этой причине этот кэш занимает больше всего места.
Посмотреть размер страничного кэша можно с помощью утилиты free. Здесь он показан в последней колонке — cached:
Такой кэш чистить эффективнее и безопаснее всего.
Кэш inode и dentrie тоже относится к файловой системе. Только в него записываются не сами данные, а структура файловой системы, расположение файлов и папок. При запросе расположения файла или содержимого папки ядро формирует специальные структуры, в которых есть вся эта информация. При следующем запросе структуры будут уже сохранены в памяти. Для каждой файловой системы существует свой кэш inode и общий кэш dentrie.
Этот кэш занимает очень мало памяти. Данные представлены в байтах, и как видите, это очень мало. Посмотреть его можно командой:
cat /proc/slabinfo | egrep dentry\|inode
Очищать его чтобы освободить память linux не рекомендуется, так как памяти потребляется немного, а на новое сканирование файловой системы идет относительно много времени.
Нужно ли очищать кэш вообще?
Во-первых, если занято очень много памяти, вы можете очистить страничный кэш, особенно если это он занимает много памяти. Во-вторых, очистить кэш памяти linux может понадобиться, если вы изменяли какие-либо настройки файловой системы или ядра, а теперь хотите проверить как это отразилось на скорости операций чтения/записи. В таком случае можно очистить все кэши и сделать это без перезагрузки, что очень удобно.
Операционная система Linux разработана таким образом, что перед тем как обратиться к диску, будет просмотрен кэш диска, и если там есть нужные данные, к диску обращений не будет. Если очистить кэш Linux то операционная система будет работать немного медленнее, поскольку ей придется искать данные на диске.
Автоматическая очистка кэша
Давайте рассмотрим как автоматически очистить кэш памяти ежедневно в два часа ночи с помощью планировщика заданий cron.
Сначала создадим bash скрипт со следующим содержимым:
sudo vi /usr/local/bin/clearcache.sh
!/bin/bash
sync ; echo 1 > /proc/sys/vm/drop_caches
Очищать будем только страничный кэш, так как он занимает больше всего. Другие виды трогать не будем, чтобы зря не понижать производительность системы.
Дальше сделайте скрипт исполняемым:
sudo chmod 755 /usr/local/bin/clearcache.sh
Осталось добавить задание в планировщик cron. Для этого выполните команду:
И в открывшемся редакторе добавьте строчку:
0 2 * * * /usr/local/bin/clearcache.sh
Теперь этот скрипт будет выполняться каждую ночь и выполнять очистку памяти, чтобы сервер мог работать нормально.
Настройка размера кэша памяти
Куда удобнее не очищать кэш каждый раз, а настроить ограничение, при превышении которого система сама будет удалять лишние страницы. Вы не можете явно ограничить сколько мегабайт может система использовать под кэш. Будет использоваться вся доступная память по мере необходимости, но можно настроить скорость удаления просроченных страниц из кэша.
За это отвечает файл /proc/sys/vm/vfs_cache_pressure. Он содержит относительный показатель, насколько агрессивно нужно удалять страницы из кэша. По умолчанию установлен параметр 100. Если его уменьшить ядро будет реже удалять страницы и это приведет к очень быстрому увеличению кэша. При нуле страницы вообще не будут удаляться. Если значение больше 100, размер кэша будет увеличиваться медленнее и неиспользуемые страницы будут сразу удаляться.
Например, сделаем минимальный размер кэша:
echo 1000 > /proc/sys/vm/vfs_cache_pressure
Не забудьте, что это очень сильно снизит производительность вашей системы, потому что вместо кэша данные будут читаться из диска.
Как очистить память подкачки
Пространство подкачки очистить очень просто. Для этого выполните:
swapoff -a && swapon -a
Имейте в виду, что при очистке swap, все данные будут перенесены обратно в оперативную память.
Как освободить память занимаемую процессами
Если в вашей системе нет памяти и кэш здесь ни при чём, следует завершить несколько процессов, потребляющих больше всего памяти. Для этого сначала надо вычислить такие процессы. Чтобы это сделать можно воспользоваться утилитой ps:
ps -e -o pid,user,%mem,command —sort %mem
Как видите, больше всего здесь памяти занимает chromium. Теперь вам надо его завершить. Идентификатор процесса, по которому его можно завершить отображается в первой колонке. Поэтому:
Более подробно о том как завершить процесс читайте в этой статье. Таким образом, вы можете освободить память от процессов, которые занимают больше всего памяти, а потом уже настроить zram или swap для того, чтобы память не переполнялась.
Выводы
Вот и все. Вы уже знаете очистить кэш linux и освободить память. Не забудьте, что все команды, приведенные в этой статье нужно выполнять от имени суперпользователя, иначе ничего работать не будет. Если остались вопросы, спрашивайте в комментариях!
Источник