df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 30830588 22454332 6787120 77% /
none 4 0 4 0% /sys/fs/cgroup
udev 1014124 4 1014120 1% /dev
tmpfs 204996 336 204660 1% /run
none 5120 0 5120 0% /run/lock
none 1024976 0 1024976 0% /run/shm
none 102400 0 102400 0% /run/user
Что 77% было только 60% вчера, и оно заполнится до 100% через несколько дней.
Я уже некоторое время слежу за размерами файлов:
sudo du -sch /*
9.6M /bin
65M /boot
224K /build
4.0K /dev
6.5M /etc
111M /home
0 /initrd.img
0 /initrd.img.old
483M /lib
4.0K /lib64
16K /lost+found
8.0K /media
4.0K /mnt
4.0K /opt
du: cannot access ‘/proc/21705/task/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/task/21705/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/fdinfo/4’: No such file or directory
0 /proc
21M /root
336K /run
12M /sbin
8.0K /srv
4.1G /swapfile
0 /sys
4.0K /tmp
1.1G /usr
7.4G /var
0 /vmlinuz
0 /vmlinuz.old
14G total
Каждый день мне дают (более или менее) одни и те же цифры. Это 14G всего меньше половины размера диска. Куда идут остальные?
Мои знания Linux не намного глубже.
Возможно ли, что файлы здесь не отображаются? Можно ли выделить пространство другим способом?
Если бы существует невидимый рост в дисковом пространстве, вероятный преступник был бы удаленными файлами. В Windows, при попытке удалить файл, открытый чем-то, Вы получаете ошибку. В Linux файл будет отмечен, как удалено, но данные будут сохранены, пока приложение не отпускает. В некоторых случаях это может использоваться в качестве аккуратный способ вымыться после себя - сбои приложения не будут препятствовать тому, чтобы были убраны временные файлы.
Для рассмотрения удаленный, все еще используемые файлы:
lsof -b 2>/dev/null | grep deleted
у Вас может быть большое количество удаленных файлов - который сам по себе не является проблемой. Единственный удаленный файл, становящийся большим, является проблемой.
перезагрузка А должна зафиксировать это, но если Вы не хотите перезагружать, проверьте вовлеченные приложения (первый столбец в lsof
вывод) и перезапустите или закройте разумно выглядящие.
, Если Вы когда-нибудь видите что-то как:
zsh 1724 muru txt REG 8,17 771448 1591515 /usr/bin/zsh (deleted)
, Где приложение и удаленные файлы являются тем же, которое, вероятно, означает, приложение было обновлено. Можно проигнорировать тех как источник большого использования диска (но необходимо все еще перезапустить программу так, чтобы исправления ошибок применялись).
Файлы в /dev/shm
являются объектами общей памяти и не занимают много места на диске (inode число самое большее, я думаю). Они могут также быть безопасно проигнорированы. Файлы, названные vteXXXXXX
, являются файлами журнала от основанного на VTE эмулятора терминала (как Терминал GNOME, Терминатор, и т.д.). Эти мог быть большим, если у Вас есть окно терминала, открытое с партии (и я имею в виду партии ) производимого материала.
Добавить к превосходному ответу muru:
, Возможно, то, что Вы не видите с du, является появлением многих, много маленьких файлов... (считайте последний столбец df -i
и посмотрите, увеличивает ли количество inodes (т.е., файлов) много сверхурочного времени также)
, Если Вы, оказывается, имеете, скажем, 1'000'000 (1 миллион), крошечные 1-байтовые файлы, du
будут считать это как 1'000'000-байтовое общее количество, скажем, 1 МБ (... пуристы, не съеживайтесь)
, Но на диске, каждый файл сделан из 2 вещей:
Таким образом, миллион файлов 1 байта файлов займет 1'000'000'000 * size_of_a_block
общее пространство для данных плюс 1'000'000'000 * size_of_an_inode
из размера inode... Это может составить несколько Гбит использования диска для 1 миллиона "1-байтовых" файлов.
, Если у Вас есть 1 024-байтовые блоки, и еще 256 байтов inode размера, о Ваших 1'000'000 файлах сообщат как примерно 1 МБ на du
, но рассчитают как примерно 1.25 ГБ на диск (как замечено df
)! (или даже 2 ГБ, если каждый inode также должен быть на 1 блоке выделенного диска... Я не знаю, если это так)
Если /dev/vda1
заполняется, это могло бы быть вызвано Jenkins или Докером (или и т.д.), и Вам, возможно, придется использовать lsof
управляйте, чтобы убрать журналы и установить, это - размер.