Wie erhalten Sie mit Java die Menge an freiem Speicherplatz auf einem Solaris -ZFS -Dateisystem?

StackOverflow https://stackoverflow.com/questions/759912

  •  09-09-2019
  •  | 
  •  

Frage

Wie erhalten Sie mit Java die Menge an freiem Speicherplatz auf einem Solaris -ZFS -Dateisystem?

Ich habe einen Sunfire X4140 mit eingebauten Festplatten als /. Es verfügt außerdem über einen verbundenen JBOD mit 7,6 TB HDD -Speicherplatz, als ZFS -Dateisystem konfiguriert und als /App montiert.

Ich verwende java.io.file.getusablespace oder java.io.file.getFreespace, um die Menge an freiem Speicherplatz im Dateisystem zu erhalten. ON / (das On-Bord) HDD fs es funktioniert korrekt.

On /App (die ZFS -Partition) Datei.getFreeSespace, File.getUsableSpace und Datei.GetTotalSpace Alle Rückgabe 0 (Null). Weiß jemand warum? Funktioniert Java.io.file.getUsableSpace auf ZFS, und wenn ja, wie?

Das Folgende zeigt das ZFS -Dateisystem auf der betreffenden Maschine:

/usr/sbin/ZFS -Liste

NAME                USED  AVAIL  REFER  MOUNTPOINT
internal            196K  98.4G     1K  none
internal/logs        18K  98.4G    18K  /logs
j4200-1             442G  7.57T  2.44K  none
j4200-1/app         442G  7.57T   153M  /app
j4200-1/app@first   442G      -   442G  - 
War es hilfreich?

Lösung

Ich weiß nicht warum, aber Sie können sich ansehen libzfs, das wickelt den ZFS -Befehl in einer schönen Java -API ein

Andere Tipps

Der Befehl df -KP gibt den freien Speicherplatz zurück, aber der universellste Weg ist die Verwendung

Apache Commons io DateiSystemStemutils.FreespaceKB ("/Volumen");

Es verwendet DF sowie DIR für Windows

Was berichtet der Befehl "df"? Melden Sie das auch nicht richtig freien Speicherplatz auf ZFS?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top