Puncte:6

De ce `df` și `du` raportează spațiul liber diferit pe Ubuntu 18.04?

drapel br

De ce aceste două comenzi ar raporta spațiul liber atât de diferit? Acest lucru a început să se întâmple anul trecut pe mai multe mașini virtuale Ubuntu 18.04 din când în când.

df raportează 100% folosit în timp ce du -smh arată doar 2,3G din 4,0G (total) în uz.

Aceasta este adesea urmată de rsyslog sau syslog-ng umple /var cu mesaje de eroare atunci când serverul syslog este oprit pentru întreținere.

# df -mh /var
Filesystem Size Used Avail Use% Montat pe
/dev/mapper/new_vg-var 4.0G 3.9G 0 100% /var

# du -smh /var
2.3G /var

# fuzor /var
Puncte:8
drapel cn

df interogează sistemul de fișiere pentru blocurile totale utilizate, vezi man 3 statvfs. O contabilitate rapidă și precisă a volumului, dar fără detalii despre fișierele.

du parcurge fișierele și adună dimensiunile acestora. Mai lent, dar poate imprima pe dimensiunea fișierului.

O discrepanță poate însemna că fișierele șterse sunt încă deschise de un program. Cel mai frecvent astfel de fișiere mari sunt jurnalele sau bazele de date, dar ar putea fi orice.


Aceasta este adesea urmată de rsyslog sau syslog-ng umple /var cu mesaje de eroare atunci când serverul syslog este oprit pentru întreținere.

Cauza principală ar fi configurația dvs. de înregistrare de la distanță.

Pe termen scurt, rotiți corect fișierele jurnal, cum ar fi rularea logrotate ad-hoc. Rețineți că configurația tipică din /etc/logrotate.d/*syslog trimite rsyslog un semnal HUP pentru a redeschide fișiere jurnal noi.

Luați în considerare creșterea dimensiunii /var pentru a gestiona dimensiunea reală a fișierelor jurnal.

Revizuiți configurația de înregistrare pentru a face ceva adecvat când telecomanda este oprită și când spațiul pe disc este redus. rsyslog poate fi configurat cu cozile care folosesc o cantitate finită de spațiu și aruncă mesajele în coada plină. exemplu de configurare rsyslog din baza de cunoștințe SLES, va trebui să fie personalizat pentru configurația dvs. de înregistrare:

# cat /etc/rsyslog.d/ora_audit.conf
dacă ( $syslogfacility-text == 'local1' ) și ( $syslogseverity == 4 /* avertisment */ ) atunci {
        $WorkDirectory /var/spool/rsyslog # unde să plasați fișierele spool
        $ActionQueueFileName RemoteQueue # prefix de nume unic pentru fișierele spool
        $ActionQueueMaxDiskSpace 1G # Limită de spațiu de 1 GB (folosește cât mai mult posibil)
        $ActionQueueSaveOnShutdown on # salvează mesajele pe disc la închidere
        $ActionQueueType LinkedList # rulează asincron
        $ActionResumeRetryCount -1 # infinite încercări dacă gazda este inactivă
        $ActionQueueTimeoutEnqueue 0 # face ca mesajul să fie eliminat imediat dacă coada este plină
        *.* @@aaa.bbb.ccc.ddd:514 # IP-ul serverului syslog la distanță:portul 514
        Stop
}

# Setarea de mai sus renunță la orice mesaj, dacă este atinsă limita de dimensiune a cozii (în această configurare 1 GB) imediat!
Puncte:6
drapel mx

Cele mai frecvente motive pentru ca df să fie mai mare decât du:

  • Nu alergi du pe întregul sistem de fișiere.
    • Nu aveți privilegii de acces la toate directoarele.
    • Ai făcut ceva de genul du -s /sistem de fișiere/*, și vă lipsesc fișierele cu puncte din partea de sus. Reluați ca du -sx /sistem de fișiere
    • (Rar) Ați umbrit o parte din sistemul dumneavoastră de fișiere cu o altă montură. Prin montarea deasupra, du nu poate ajunge la fișiere pentru a determina dimensiunea. Le pot dimensiona prin demontarea sistemului de fișiere de umbră sau adesea cu o montare în buclă a sistemului de fișiere original.
  • Aveți fișiere care sunt încă deschise, dar șterse. du nu le mai pot accesa pentru a citi, dar totuși ocupă spațiu. Încerca lsof +aL1 /sistem de fișiere pentru a găsi fișierele orfane și procesul care le deține deschise. Când procesul închide fișierul, spațiul va fi eliberat.

Cel mai frecvent motiv pentru care df este mai mic decât du:

  • Există un sistem de fișiere suplimentar montat în interior și dvs du coboară în ea și numără și acel spațiu. Reluați ca du -sx /sistem de fișiere

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.