Na zwirtualizowanym serwerze z systemem Ubuntu 10.04, df zgłasza co następuje:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.4G 7.0G 0 100% /
none 498M 160K 498M 1% /dev
none 500M 0 500M 0% /dev/shm
none 500M 92K 500M 1% /var/run
none 500M 0 500M 0% /var/lock
none 500M 0 500M 0% /lib/init/rw
/dev/sda3 917G 305G 566G 36% /home
Zastanawia mnie to z dwóch powodów: 1.) df mówi, że / dev / sda1, zamontowany w /, ma pojemność 7,4 gigabajta, z czego tylko 7,0 gigabajtów jest używanych, ale zgłasza / jest w 100 procentach pełny; i 2.) Mogę tworzyć pliki na /, więc wyraźnie pozostało wolne miejsce.
Być może istotne jest to, że katalog / www jest dowiązaniem symbolicznym do / home / www, który znajduje się na innej partycji (/ dev / sda3, zamontowany w / home).
Czy ktoś może zaproponować sugestie dotyczące tego, co się tutaj dzieje? Serwer wydaje się działać bez problemu, ale chcę się upewnić, że nie ma problemu z tablicą partycji, systemami plików lub czymś innym, co mogłoby później spowodować implozję (lub eksplozję).
Odpowiedzi:
Możliwe, że proces otworzył duży plik, który został usunięty. Musisz zabić ten proces, aby zwolnić miejsce. Możesz być w stanie zidentyfikować proces za pomocą lsof. W systemie Linux usunięte, ale otwarte pliki są znane lsof i oznaczone jako (usunięte) w wynikach lsof.
Możesz to sprawdzić za pomocą
sudo lsof +L1
źródło
df -ah
mam pełny dysk, aledu -sh /
mówi, że powinienem mieć wolne miejsce. Po ponownym uruchomieniu uwsgi mam dużo wolnego miejsca!5% (domyślnie) systemu plików jest zarezerwowane na przypadki, gdy system plików zapełnia się, aby zapobiec poważnym problemom. Twój system plików jest pełny. Z powodu 5% bufora nie dzieje się nic katastrofalnego - root może używać tego bufora bezpieczeństwa, a w twojej konfiguracji użytkownicy inni niż root nie mają powodu, aby pisać w tym systemie plików.
Jeśli masz demony działające jako użytkownik inny niż root, ale które muszą zarządzać plikami w tym systemie plików, wszystko się zepsuje. Jednym z powszechnych takich demonów jest
named
. Innym jestntpd
.źródło
/
). Zasadniczo uważa się to za Złą Rzecz (ponieważ jeśli coś pójdzie szaleńczo, zapełni/
się, a świat się skończy), ale dystrybucje Linuksa nadal to robią, ponieważ jest „prostsze”. Zacznę od szukania/var
(szczególnie/var/log
) dużych plików dziennika.du -hs /
(jako root) pomoże ci znaleźć największe katalogi i ewentualnie wskaże ci, co wymaga oczyszczenia.Być może brakuje Ci i-węzłów. Sprawdź użycie i-węzła za pomocą tego polecenia:
źródło
Większość systemów plików Linux rezerwuje 5% miejsca do użytku tylko dla użytkownika root.
Możesz to zobaczyć np
Możesz zmienić zarezerwowaną kwotę za pomocą:
W większości przypadków serwer wydaje się działać poprawnie - zakładając, że wszystkie procesy są uruchamiane jako „root”.
źródło
Miałem ten problem i byłem zaskoczony faktem, że usunięcie różnych dużych plików nie poprawiło sytuacji (nie wiedziałem o buforze 5%) mimo kilku wskazówek tutaj
Od roota zeszły największe katalogi ujawnione poprzez powtarzalne wykonywanie:
dopóki nie przyszedłem do katalogu plików dziennika serwera WWW, który zawierał absolutnie ogromne dzienniki
które obciąłem
nagle df -h zostało użyte do 48%!
źródło
Oprócz już sugerowanych przyczyn, w niektórych przypadkach może to być również:
du -md 1
. Napraw sytuację, przenosząc ukryty folder w inne miejsce lub zamontuj w innym miejscu.źródło
df -h
zaokrągla wartości. Nawet wartości procentowe są zaokrąglone. Pomiń-h
i zobaczysz drobniejsze różnice.O. A ext3 i pochodne rezerwują procent (domyślnie 5%) dla systemu plików dla dokładnie tej problematycznej konstelacji. Jeśli Twój główny system plików byłby naprawdę pełny (pozostało 0 bajtów), nie możesz uruchomić systemu. Tak więc zarezerwowana część temu zapobiega.
źródło
Zrobiłem dużą aktualizację kilku bibliotek i było wiele niepotrzebnych bibliotek i plików tymczasowych, więc zwalniam miejsce w folderze „/”, używając:
I opróżnij śmieci
źródło
sprawdź / lost + found, miałem system (centos 7), a część pliku w / lost + found zjadła całą przestrzeń
źródło
Jeśli twoją partycją jest btrfs, może być wolna przestrzeń. System plików btrfs może mieć wiele podwoluminów, z których tylko jeden jest podłączony. Możesz użyć
btrfs subvolume list <dir>
do wyświetlenia wszystkich podwoluminów ibtrfs subvolume delete <dir>/<subvolume>
do usunięcia jednego. Upewnij się, że nie usuwasz domyślnie zamontowanego.źródło