Usando Java, come si ottiene la quantità di spazio libero su un file system Solaris zfs?

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

  •  09-09-2019
  •  | 
  •  

Domanda

Usando Java, come si ottiene la quantità di spazio libero su un file system Solaris zfs?

Ho un SunFire x4140 con hdd integrato montato come /.Dispone inoltre di un JBOD connesso con 7,6 TB di spazio su disco fisso, configurato come file system ZFS e montato come /app.

Utilizzo java.io.File.getUsableSpace o java.io.File.getFreeSpace per ottenere la quantità di spazio libero sul file system.Su / (on-board) HDD FS funziona correttamente.

Su /app (la partizione zfs) File.getFreeSpace, File.getUsableSpace e File.getTotalSpace restituiscono tutti 0 (zero).Qualcuno sa perché?Java.io.File.getUsableSpace funziona su ZFS e, in caso affermativo, come?

Di seguito viene mostrato il file system zfs sulla macchina in questione:

/usr/sbin/zfs

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  - 
È stato utile?

Soluzione

Non so perché, ma potresti dargli un'occhiata libzfs, che racchiude il comando zfs in una bella API Java

Altri suggerimenti

Il comando df -kp restituisce lo spazio libero, ma il modo più universale è usare

Apache CommonsIO FileSystemUtils.freeSpaceKb("/volume");

utilizza df e dir per Windows

Cosa riporta il comando "df"?Anche questo non segnala correttamente lo spazio libero su zfs?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top