Java를 사용하면 Solaris ZFS 파일 시스템에서 여유 공간의 양을 어떻게 얻습니까?
문제
Java를 사용하면 Solaris ZFS 파일 시스템에서 여유 공간의 양을 어떻게 얻습니까?
HDD가 내장 된 Sunfire X4140이 /로 장착되었습니다. 또한 7.6TB의 HDD 공간이있는 연결된 JBOD가 있으며 ZFS 파일 시스템으로 구성되고 /앱으로 장착되었습니다.
나는 java.io.file.getusableSpace 또는 java.io.file.getfreespace를 사용하여 파일 시스템에서 여유 공간의 양을 얻습니다. ON / (온보드) HDD FS는 올바르게 작동합니다.
ON /APP (ZFS 파티션) FILE.GETFREESPACE, FILE.GETUSABLESPACE 및 FILE.GETTOTALSPACE ALL RETURN 0 (ZERO). 왜 그런지 아는 사람이 있습니까? 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, 그것은 멋진 Java API로 ZFS 명령을 감싸고 있습니다.
다른 팁
DF -KP 명령은 여유 공간을 반환하지만 가장 보편적 인 방법은 사용하는 것입니다.
아파치 커먼즈 IO FileSystEmutils.freespacekb ( "/Volume");
DF와 Windows 용 DF를 사용합니다
"DF"명령 보고서는 무엇입니까? 또한 ZFS의 여유 공간을 올바르게보고하지 않습니까?