При частом доступе к файлам под Linux физическая память будет быстро израсходована, а когда программа завершится, память не будет нормально освобождаться, а всегда будет использоваться в качестве кеша.
Поэтому нам необходимо вручную очистить системный кеш, чтобы освободить память.
Прежде чем мы очистим кеш, мы должны сначала
при синхронизации
Поскольку система находится в процессе работы, она сначала сохранит данные файла, с которыми вы работали, в буфер, потому что вы боитесь, что вы потеряете данные из-за сбоя питания во время операции, поэтому данные файла будут сохранены во время операции.Кэшировать в первую очередь.
Поэтому нам нужно сначала записать данные из буфера на жесткий диск перед очисткой кеша, команда синхронизации
синхронизировать Выполните команду sync вручную (Описание: Команда sync запускает подпрограмму синхронизации. Если систему необходимо остановить, запускается команда sync для обеспечения целостности файловой системы. Команда sync записывает на диск все незаписанные системные буферы, включая измененные i-узлы, отложенный блочный ввод-вывод, чтение и запись отображаемых файлов)
Наконец, введите команду, чтобы вручную освободить память
эхо 3 > /proc/sys/vm/drop_caches Значение drop_caches может быть числом от 0 до 3, представляющим различные значения: 0: не отпускать (по умолчанию в системе) 1: Свободный кеш страниц 2: освободить dentries и inodes
3: Освободить все кеши
free -h
free -h #Проверить, была ли освобождена память.
total - общая физическая память used - используемая память, в целом это значение будет относительно большим, т.к. в это значение входит память, используемая кешем + приложением free - полностью неиспользуемая память shared - разделяемая память приложения буферы - кеш, в основном используется для каталога, значения inode и т. д. (в большом каталоге это значение может увеличиться) cached - кеш, для открытых файлов
Дополнительное обновление: 2018.06.27 1. Очистка дискового пространства Linux
Выполните lsof | grepDeleted и обнаружите, что есть большое количество процессов, которые только что удалили файлы, уничтожьте процесс (или перезапустите процесс) OK
- Используйте DU, чтобы найти место, занимаемое каждым каталогом:
3. Проблемы с восстановлением файлов
Ссылаться наblog.CSDN.net/uniquesoft/art…
4. Быстро найти большие файловые каталоги и очистить жесткий диск
Действуйте следующим образом:
1) Просмотр информации о диске: df -lh
Используемый размер файловой системы Доступно Использование % Установлено на udev 3.8G 0 3.8G 0% /dev tmpfs 769M 68M 702M 9%/запуск /dev/sda6 265G 252G 0 100%/ tmpfs 3.8G 126M 3.7G 4% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /выполнить/блокировать tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/loop0 87M 87M 0 100% /привязка/ядро/4830 /dev/loop1 87M 87M 0 100% /привязка/ядро/4650 /dev/loop2 254M 254M 0 100% /snap/electronic-wechat/7 /dev/loop3 198M 198M 0 100% /snap/polarr/3 /dev/loop4 87M 87M 0 100% /привязка/ядро/4917 tmpfs 769M 100K 769M 1% /выполнить/пользователь/1000 Вы можете видеть, что системный жесткий диск /dev/sda6 занят на 100%
2) петля, чтобы найти самый большой каталог файлов: DU -H --max-глубина = 1
По-видимому, самый большой каталог файлов находится в /home
Далее, позиционирование петли:
Как видите, самый большой файл на самом деле находится в папке ~/.local/share/Trash, а это корзина для мусора в Linux (которую можно понимать как корзину Windows).
Если вы хотите очистить его, используйте его напрямую
sudo rm -rf ~/.local/share/Корзина В итоге мы успешно очистили 121G мусора, занятого
3) Найдите самый большой файл
ls -lhS
4) Подтвердите, занят ли удаленный файл.
/usr/sbin/lsof |grep deleted
В соответствии с pid во втором столбце введите kill -9 xxxx, чтобы убить процесс xxxx.
Очистить, когда /dev/loop равен 100%:
Мы видим, что loo0-loop11 на картинке занимает 100%, нам просто нужно его почистить.
Заказ:
sudo apt autoremove --purge snapd
Примечание. Оригинальный текст этой статьи является статьей моего CSDN. Оригинальная ссылка:blog.CSDN.net/Гэвин сек С/…