Warum stimmen die Ergebnisse von du und quota nicht überein?

8

Ich habe mein Festplattenkontingent auf einem System überschritten, auf das ich keinen Root-Zugriff habe. Ich habe versucht, alte Dateien zu entfernen, bin aber immer noch vorbei. Ich habe versucht zu rennen, duum herauszufinden, wo ich meinen gesamten Platz verbrauche , aber es wird berichtet, dass ich sehr wenig benutze.

Ergebnisse von quota

   /home/1234$ quota -s
   Disk quotas for user 1234 (uid 1234): 
        Filesystem   space   quota   limit   grace   files   quota   limit   grace
       cslab:/home   4519M*  4096M   5120M   09:47    6155       0       0 

Von du

   /home/1234$ du -mad 1
   ...
   936     total

Ich verstehe nicht, warum quotaich 4,5 GB verwende, während dunur 0,9 GB zählen. Ich habe auch nach Dateien /tmpgesucht, die ich besitze, und dort waren Dateien im Wert von 50 MB. Wo könnten die anderen 3,5 GB Dateien sein? Ist es möglich, dass das Quotensystem falsch ist und zurückgesetzt werden muss?

Brandon Clements
quelle
Überprüfen Sie, ob es so viele verschiedene Möglichkeiten gibt, die Festplattennutzung zu messen. hilft. Ist das über NFS? Möglicherweise wird etwas zwischengespeichert.
Gilles 'SO - hör auf böse zu sein'

Antworten:

2

Ich glaube, es gibt möglicherweise einige Dateien, die von einigen Prozessen noch offen gehalten werden. Sie können versuchen, sie mit aufzulisten,

lsof | grep username | grep deleted

Eine bessere Version wäre zu verwenden,

lsof +L1 | grep username

Manchmal kann es jedoch zu Diskrepanzen in der Ausgabe zwischen duund kommen, quotadie in diesem Link erläutert werden . Auszug aus dem Link,

Unter Unix können die Befehle du und quota unterschiedliche Werte melden. Der Grund für diese Diskrepanz ist, dass der Prozess, der das Dateisystem durchläuft, Kontingente überprüft und die Verwendungstabellen aktualisiert, nur zu bestimmten Zeiten ausgeführt wird. Daher wird es zwischen den Kontingentprüfungen Zeiträume geben, in denen der Befehl quota -v eine falsche Datenträgernutzung meldet. Verwenden Sie den Befehl du, um die genauesten Informationen über die Größe Ihrer Dateien zu erhalten.

Ramesh
quelle
Ich habe dies versucht, aber es sind keine gelöschten Dateien geöffnet.
Brandon Clements
@BrandonClements, Ist dieser Link nützlich?
Ramesh
Der Link war nützlich, ich habe nicht berücksichtigt, dass das Kontingent nur regelmäßig aktualisiert wurde. Ich werde abwarten müssen, ob dies tatsächlich mein Problem ist, aber ich denke, es ist. Könnten Sie bitte den Link und eine kurze Beschreibung in Ihre Antwort verschieben.
Brandon Clements
@BrandonClements, aktualisiert. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen!
Ramesh
Es sieht so aus, als hätte es sich über Nacht repariert. Für andere, die diese Antwort lesen, würde ich bemerken, dass das Löschen kleiner Dateien unmittelbare Auswirkungen auf mein Kontingent zu haben schien, sodass ich nicht sicher war, ob dies der Fall war. Es scheint so zu sein.
Brandon Clements
2

quota Abfrage des Dateisystems nach den tatsächlich von Ihren Dateien belegten Blöcken.

du funktioniert durch rekursives Scannen von Verzeichnissen nach Ihren Dateien.

Die beiden Methoden könnten zu unterschiedlichen Ergebnissen führen. Wenn Sie beispielsweise eine Datei "löschen", ist sie beim Auflisten des Verzeichnisses nicht mehr sichtbar. Die Blöcke auf der Festplatte werden jedoch erst freigegeben, wenn das letzte Dateihandle auf der Festplatte geschlossen ist. In diesem Fall ist die Datei für unsichtbar, duzählt jedoch weiterhin zu Ihrem Kontingent.

200_Erfolg
quelle