Mój główny dysk jest całkowicie zapełniony:
root@kodi:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 385M 12M 374M 3% /run
/dev/sda1 88G 84G 0 100% /
tmpfs 1.9G 4.0K 1.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sdb1 917G 429G 442G 50% /media/Cloud
/dev/sdd1 917G 813G 58G 94% /media/Tera
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 385M 0 385M 0% /run/user/1000
root@kodi:/#
/ dev / sda1 to mój podstawowy dysk, na którym jest zainstalowany Ubuntu:
root@kodi:/home/fmf# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=9fab4895-7ccb-4415-b26d-311a17036cda / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=7b158f58-e4c1-4717-aa5f-dbeaa79ab93c none swap sw 0 0
UUID=f9079f52-7661-48ad-9bc4-0d2452be66af /media/Tera ext2 defaults,nofail 0 0
UUID=fb1f92ee-54f5-44f8-ba92-544e90e6dfeb /media/Cloud ext2 defaults,nofail 0 0
root@kodi:/home/fmf#
Czy wyszukiwarka google znalazła kilka poleceń, aby sprawdzić, kto jest odpowiedzialny, ale nie mogę ustalić, kto ją wypełnia:
root@kodi:/# du --exclude=/media -cksh * | sort -hr | head -n 15
du: cannot access 'proc/16360/task/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/task/16360/fdinfo/3': No such file or directory
du: cannot access 'proc/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/fdinfo/3': No such file or directory
1.3T total
1.3T media
3.5G home
3.0G usr
1010M var
645M root
630M lib
99M boot
17M bin
15M sbin
13M etc
12M run
196K tmp
16K lost+found
12K srv
root@kodi:/#
Najwyraźniej nie ma żadnego pliku lub katalogu, który byłby tak duży, aby wypełnić 84G mojego dysku.
Kilka dni temu odkryłem, że dysk jest pełny z powodu błędów .xsession, które zwariowały. Odkryłem, że jest to znany błąd w Ubuntu i rozwiązałem tworzenie linii crontab, która co dziesięć minut usuwa błędy .xsession. W rzeczywistości nie mam go już w swoim katalogu domowym.
Proszę o pomoc?
disk-usage
effemmeffe
źródło
źródło
sudo lsof | grep deleted
poda wskazówki..xsession-errors
problem jest winny, to go podświetli; jeśli nie, nadal bardzo prawdopodobne jest, że skieruje cię we właściwym kierunku.Odpowiedzi:
Problem z cronjob polega na tym, że
.xsession_errors
najprawdopodobniej nadal jest otwierany przez niektóre aplikacje lub usługi systemowe, dlatego po usunięciu zostanie ukryty przed tabelą systemu plików, ale nadal znajduje się na dysku i nadal będą na nim zapisywane błędy.Więc zapełni dysk, ale teraz już go nie widzisz.
@rinzwind dąży do tego właśnie zachowania, gdy (poprawnie) sugeruje usunięcie pracy z cronjobem i poszukiwanie błędów. To jedyny sposób, aby poprawnie rozwiązać ten problem.
W celu obejścia tego problemu można
.xsession_errors
przyciąć plik za pomocą narzędzia cronjob w następujący sposób:Ale zanim to zrobisz, NAPRAWDĘ powinieneś spróbować naprawić podstawowe problemy, które powodują te komunikaty o błędach
.xsession_errors
źródło
root
byłoby nieostrożne i mogłoby spowodować inne problemy.truncate -c
nie utworzy pliku i nie zmieni własności istniejącego pliku. Dobrze jest nie uruchamiać go jako root, ale własność pliku nie jest powodem.skoro to robisz ...
nie można odpowiedzieć na to pytanie.
Aby uzyskać informacje o błędach, które musimy zobaczyć, wykonaj następujące czynności:
.xsessions_errors
..xsessions_errors
użyciutail -f 100 ~/.xsessions_errors
..xsessions_errors
zawsze należy unikać usuwania pliku).źródło
Kiedy występują duże różnice (powiedzmy, ponad kilka procent) między (jako root)
df -g /some/partition_root
idu -gx /some/partition_root
(-x
każe du ograniczyć się do tej samej partycji, przydatne do sprawdzenia '/' na przykład): prawdopodobnie nadal istnieją pliki otwarte, do którego niektóre procesy nadal zapisują, ale zostały usunięte na dysku (stąd: plik nadal istnieje, dopóki jest otwierany przez procesy i zapełnia przestrzeń dyskową (df -g to widzi), ale ponieważ nie ma dłuższe linki (lub nazwy plików) do swoich i-węzłów, du -gx tęskni za nimi.W twoim przypadku porównaj wyniki:
Aby dowiedzieć się, które pliki mają mniej niż 1 link (tzn. Pliki usunięte, ale nadal otwarte):
Sprawdź nazwy procesów i pid, aby zobaczyć, które procesy zapisują do tych plików „duchów”, i działaj odpowiednio (niektóre mogą być w stanie zatrzymać / uruchomić, a kiedy zostaną zatrzymane, plik zostanie zwolniony, a jego miejsce zwolnione, inni mogą wymagać odpowiedniego ponownego uruchomienia)
źródło