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

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

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

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

4
задан 24 January 2012 в 03:02

2 ответа

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

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

Для меня это 20M, а кроме лог-каталога есть кеш для установок. Используйте

 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 для килобайта и так далее.

0
ответ дан 24 January 2012 в 03:02

При форматировании файловая система 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 для получения дополнительной информации

0
ответ дан 24 January 2012 в 03:02

Другие вопросы по тегам:

Похожие вопросы: