使用Java,如何获取solaris zfs文件系统上的可用空间量?
我有一个安装有/的内置硬盘的SunFire x4140。它还具有一个连接的JBOD,具有7.6TB的HDD空间,配置为ZFS文件系统并安装为/ app。
我使用java.io.File.getUsableSpace或java.io.File.getFreeSpace来获取文件系统上的可用空间。在/(板载)HDD FS上,它可以正常工作。
在/ app(zfs分区)上,File.getFreeSpace,File.getUsableSpace和File.getTotalSpace均返回0(零)。有人知道为什么吗? java.io.File.getUsableSpace是否可以在ZFS上运行,如果可以,怎么办?
下面显示了相关机器上的zfs文件系统:
/ 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 -
最佳答案
我不知道为什么,但是您可能要看看libzfs,它将zfs命令包装在一个不错的Java API中