Я использую Linux Mint 14 Nadia. Раздел Linux имеет 10G. При запуске системы du
сообщает об использовании 80%. Затем использование медленно растет, пока не достигнет 100%, и система станет непригодной для использования. (Это может происходить порядка дней или недель). После перезагрузки использование сбрасывается до 80%.
Самое странное, что это не du
показывает никаких изменений.
Вот вывод этих команд (разделы Windows и внешнего диска исключены):
# --- Just after reboot ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 7.3G 2.0G 80% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 288K 437M 1% /run/shm
none 100M 12K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
512M /var
11M /sbin
556K /root
1.3G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
60K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
# --- After some time ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 9.1G 199M 98% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 27M 411M 7% /run/shm
none 100M 28K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
511M /var
11M /sbin
556K /root
1.4G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
520K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
(Примечание: я использую спящий режим. После спящего режима использование остается прежним, а после перезагрузки сбрасывается до 80%.)
Как мне отследить, что съедает пространство?
Я прочитал этот вопрос . Я все еще в темноте. Как узнать, какая программа отвечает за это поведение?
После редактирования : нашел его. Пространство заявлено журналом ядра, который виден dmesg
. Он заполняется, потому что моя машина генерирует ошибки со скоростью 5 в секунду. (Это связано с этой ошибкой .) Пусть будущие читатели с похожей проблемой - медленно заполняющим пространство на диске, незаметно для себя du
- не забудут попробовать dmesg
поискать причину.
источник
ncdu
простойdu
для поиска больших файлов | каталогов. Он сканирует все дерево каталогов, прежде чем позволяет вам что-либо делать; Вы можете захотеть пройти определенным путем (например,ncdu /var
или простоncdu ~
)Ответы:
Повторное исполнение
(вниз по дереву каталогов) должен сказать вам, где используется пространство. Это, вероятно, объясняет без дальнейшего расследования, какое приложение вызывает это.
невидимые файлы
Если
du
эти файлы не отображаются, то одной из возможностей являются удаленные файлы. Файл (или, скорее: его имя, то есть его запись в каталоге) может быть удален, пока файл все еще используется. Пока существует правильный файловый дескриптор, указывающий на этот файл, он покрывает пространство на томе (если это не пустой файл ...).Вы можете найти эти файлы с
find
:Это может быть один большой файл или несколько файлов меньшего размера, которые вызывают вашу проблему. Сейчас в моей системе около 30 таких файлов (принадлежащих только пяти процессам).
ls -l
показывает размер этих файлов, но, кажется, получить это значение невозможноfind
.После завершения процесса пространство
df
снова становится доступным для файловой системы ( ).источник
du
сообщает об отсутствии изменений в потребляемом пространстве: 7.3G при запуске и 7.3G по прошествии времени.df
сообщает 7.3G бесплатно при запуске и до 10G с течением времени. Я не могу найти проблему сdu
.Используйте что-то вроде
чтобы увидеть, какие процессы хранят удаленные файлы открытыми. Важными полями являются второе (PID) и восьмое (третье от последнего; размер файла).
(Обратите внимание на дублированные строки, не считайте их дважды. Проверьте PID и путь к файлу (последнее поле) или номер индекса (от второго до последнего поля).)
После этого, если вы найдете процесс, который, вероятно, является виновником, мы увидим, как это исправить.
источник
sudo lsof -s | grep deleted | sort -hk7
числовую сортировку. Без -h сортировка делает забавные лексические вещи с числами.Используйте это, чтобы найти рекурсивно то, что заполняет более 10 МБ + из
/
(root), и отобразить его с большим количеством деталей с помощьюls -l
inxargs
. Если вы напишите 1000000 (2 дополнительных нуля), вы можете получить, например, 1 ГБ +.Вы также можете использовать du, и просто копаться в нем вручную.
источник
Всякий раз, когда это происходит, я всегда начинаю фокусироваться на определенных подкаталогах. Структура FHS, которой придерживаются большинство дистрибутивов Linux, изложена с учетом этого.
Сначала загляните
/var
, затем/home
.Вы также можете сузить фокус до подкаталогов в любом из этих мест. После того, как вы устали смотреть туда, я обычно перехожу к
/root
, и, наконец, к остальным подкаталогам/
.Если это дистрибутив на базе Red Hat, кеш, который
yum
используется для обновления, может занимать много места. Вы можете использовать эту команду, чтобы очистить ее:Другие используемые дистрибутивы
apt
могут делать что-то подобноеapt-get clean
.Я также выполнил бы эту команду в верхней части вашего
/
каталога, это место иногда может стать источником для блуждающих файлов журнала.Обратите особое внимание на точечные файлы! Вещи названы
.blah
, например.источник
timeshift
ел мой диск.Восстановил 50Gb.
источник
У меня почти такая же ситуация.
В моем случае причиной была VMware. Один из других VMware на той же машине, он занимал дисковое пространство. Вот почему мое дисковое пространство было 100%.
После удаления больших файлов из соседнего VMware, он работает правильно.
источник