Д.Ф.
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 не намного глубже.
Возможно ли, что файлы здесь не отображаются? Можно ли выделить место другим способом?
filesystem
disk-usage
nizzle
источник
источник
/var
кажется мне необычайно большим. Я подозреваю, что файл журнала заполняется быстро.lsof -b 2>/dev//null | grep deleted
(выходные данные могут быть довольно большими, итеративно отбрасывать записи, которые кажутся нормальными)du
.Ответы:
Если происходит невидимое увеличение дискового пространства, вероятным виновником будут удаленные файлы. В Windows, если вы попытаетесь удалить файл, открытый чем-то, вы получите ошибку. В Linux файл будет помечен как удаленный, но данные будут сохраняться до тех пор, пока приложение не будет запущено. В некоторых случаях это можно использовать как аккуратный способ очистки после себя - сбой приложения не помешает очистке временных файлов.
Чтобы просмотреть удаленные, все еще используемые файлы:
У вас может быть большое количество удаленных файлов - это само по себе не проблема. Большой размер удаленного файла - проблема.
Перезагрузка должна исправить это, но если вы не хотите перезагружаться, проверьте соответствующие приложения (первый столбец в
lsof
выводе) и перезапустите или закройте разумно выглядящие.Если вы когда-нибудь увидите что-то вроде:
Если приложение и удаленные файлы совпадают, это, вероятно, означает, что приложение было обновлено. Вы можете игнорировать их как источник большого использования диска (но вы все равно должны перезапустить программу, чтобы применить исправления ошибок).
Файлы в
/dev/shm
являются объектами с общей памятью и не занимают много места на диске (я думаю, самое большее число инодов). Их также можно безопасно игнорировать. Названные файлыvteXXXXXX
являются файлами журнала из эмулятора терминала на основе VTE (например, GNOME Terminal, Terminator и т. Д.). Они могут быть большими, если у вас открыто окно терминала с большим количеством (и я имею в виду много ) выводимых материалов.источник
Чтобы добавить к отличному ответу от muru:
Может быть, с du вы не видите появления множества маленьких файлов ... (посмотрите на последний столбец
df -i
и посмотрите, не увеличивается ли количество inode (то есть файлов) со временем)Если у вас есть, скажем, 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-байтовых" файлов.Если у вас есть блоки размером 1024 байта и еще 256 байтов размера inode, ваши файлы размером 1 000 000 будут иметь размер
du
примерно 1 МБ, но на диске они будут равны примерно 1,25 ГБ (как видноdf
)! (или даже 2 ГБ, если каждый инод также должен быть на 1 выделенном блоке диска ... Я не знаю, так ли это)источник
-b
или--apparent-size
), которая указываетdu
показывать видимый размер файла,du
фактически всегда будет отображаться размер на диске файла (общее количество используемых блоков, умноженное на размер блока). Фактически это может быть больше (в обычном случае) или меньше (в случае разреженных файлов), чем видимый размер файла.Если
/dev/vda1
он заполняется, это может быть вызвано Jenkins или Docker (или т. Д.), И вам, возможно, придется использоватьlsof
команду для очистки журналов и установки его размера .источник