Utilización de Java, ¿cómo se obtiene la cantidad de espacio libre en un sistema de archivos ZFS de Solaris?

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

  •  09-09-2019
  •  | 
  •  

Pregunta

El uso de java, ¿cómo se obtiene la cantidad de espacio libre en un sistema de archivos ZFS de Solaris?

Tengo un X4140 SunFire con disco duro incorporado montada como /. También tiene un JBOD conectado con 7.6TB de espacio de disco duro, configurado como un sistema de archivos ZFS y montada como / aplicación.

Yo uso java.io.File.getUsableSpace o java.io.File.getFreeSpace para obtener la cantidad de espacio libre en el sistema de archivos. On / (el de a bordo) HDD FS funciona correctamente.

On / app (la partición ZFS) File.getFreeSpace, File.getUsableSpace y File.getTotalSpace todo devuelven 0 (cero). ¿Alguien sabe por qué? Cómo funciona el java.io.File.getUsableSpace en ZFS, y si es así, ¿cómo?

A continuación se muestra el sistema de archivos ZFS en la máquina en cuestión:

  

/ usr / sbin / zfs list

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  - 
¿Fue útil?

Solución

No sé por qué, pero es posible que echar un vistazo a libzfs , que envolturas de comandos de ZFS en un bonito API java

Otros consejos

El comando df-KP devuelve el espacio libre, pero la forma más universal es utilizar

Apache Commons IO FileSystemUtils.freeSpaceKb ( "/ volumen");

se utiliza df, así como dir para Windows

¿Qué significa el "DF" informe de mando? Es que también no informar de espacio libre en ZFS correctamente?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top