Корень заполняется, хотя должно быть некоторое пространство

Корень заполняется, хотя должно быть некоторое пространство

Это меня уже давно сбивает с толку. Я работаю на Ubuntu 11.04. Мой корневой раздел заполняется, и я не могу понять, что является причиной. Еще более странно, когда я запускаю df -h, вот что выводится:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.2G  8.8G     0 100% /

Как видите, должно быть около 400 МБ свободного места, но Availпоказывает 0. Что может быть причиной этого? Я даже удалил несколько программ, чтобы освободить место, и оно снова заполняется. Предложения о том, как узнать, какие файлы, если таковые имеются, заполняют место, также приветствуются.

решение1

Первый выстрел: Высокий трафик в журнале ошибок. Думаю, если бы вы скачивали видео, вы бы это знали. :)

 sudo du -sh /var/log
  • -s — это резюме
  • -h — суффикс, читаемый человеком (k, M, G, T)

У меня это 20М, и кроме каталога логов есть кэш для установок. Использовать

 apt-get clean 

Если это ваша проблема.

Конечно, вам следует проверить, находится ли /home в вашем корневом разделе.

Если вам приходится выполнять поиск в больших файлах итеративно, я могу предложить ряд команд, которые можно повторять и которые выполняются довольно быстро после первого начального шага:

  • Вы начинаете с подозрительного каталога на верхнем уровне
  • Затем вы ищете все подкаталоги и файлы по их размеру и сортируете по числовому значению:

sudo du -s /var/* | sort -n 
0   /var/crash
4   /var/www
44  /var/games
124 /var/run
2306    /var/tmp
18538   /var/log
251876  /var/cache
1053231 /var/lib
  • Я сократил пример, чтобы он был короче. Итак, мы видим, что самый большой подкаталог — /var/lib, и повторяем шаг для /var/lib. Теперь поиск намного быстрее, потому что вычисленные результаты каким-то образом кэшируются:

sudo du -s /var/lib/* | sort -n 
78116   /var/lib/apt-xapian-index
104580  /var/lib/dpkg
680503  /var/lib/postgresql

и так далее. Проследите за самыми большими каталогами, чтобы найти самые большие файлы. Здесь нельзя использовать -sh, потому что сортировка по числам не работает с k/M/G/T для килобайт и так далее.

решение2

При форматировании файловая система ext2/3/4 резервирует определенный процент дискового пространства для исключительного использования пользователем root. По умолчанию это 5%. Цель этого заключается в том, чтобы система могла продолжать работать и могла загружаться, даже если непривилегированные пользователи заполнят все доступное им дисковое пространство.

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

От man mke2fs:

   -m reserved-blocks-percentage
          Specify the percentage of the filesystem blocks 
          reserved for the super-user.  This avoids fragmenta‐
          tion,  and  allows  root-owned  daemons, such as 
          syslogd(8), to continue to function correctly after
          non-privileged processes are prevented from writing 
          to the filesystem.  The  default  percentage  is 5%.

Если вы совсем отчаялись, вы можете использовать tune2fsдля изменения этого значения. Смотрите man tune2fsдля получения дополнительной информации

Связанный контент