Используя java, как вы получаете объем свободного места в файловой системе solaris zfs? - PullRequest
3 голосов
/ 17 апреля 2009

Как получить объем свободного места в файловой системе Solaris zfs с помощью Java?

У меня SunFire x4140 со встроенным жестким диском, смонтированным как /. Он также имеет подключенный JBOD с 7,6 ТБ дискового пространства, настроенный как файловая система ZFS и смонтированный как /app.

.

Я использую java.io.File.getUsableSpace или java.io.File.getFreeSpace, чтобы получить количество свободного места в файловой системе. На / (на плате) HDD FS все работает правильно.

On / app (раздел zfs) File.getFreeSpace, File.getUsableSpace и File.getTotalSpace все возвращают 0 (ноль). Кто-нибудь знает почему? Работает ли java.io.File.getUsableSpace на ZFS, и если да, то как?

Ниже показана файловая система zfs на рассматриваемом компьютере:

/ 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  - 

Ответы [ 3 ]

2 голосов
/ 17 апреля 2009

Я не знаю почему, но вы можете взглянуть на libzfs , который оборачивает команду zfs в красивый Java-API

1 голос
/ 27 января 2012

Команда df -kP возвращает свободное место, но самый универсальный способ - это использовать

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

он использует df и dir для Windows

0 голосов
/ 17 апреля 2009

Что сообщает команда "df"? Это также неправильно сообщает о свободном месте на zfs?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...