باستخدام Java، كيف يمكنك الحصول على مقدار المساحة الحرة على نظام ملفات ZFS Solaris؟
سؤال
باستخدام Java، كيف يمكنك الحصول على مقدار المساحة الحرة على نظام ملفات ZFS Solaris؟
لدي Sunfire X4140 مع HDD المدمج المثبتة باسم /. يحتوي أيضا على JBOD متصل بمساحة 7.6 تيرابايت من HDD، تم تكوينه كمنظام ملف ZFS ومصمما باسم / تطبيق.
يمكنني استخدام java.io.file.getusablespace أو java.io.file.getfreeSpace للحصول على مقدار المساحة الحرة على نظام الملفات. على / (على متن الطائرة) HDD FS يعمل بشكل صحيح.
On / App (قسم ZFS) ملف.getFreseSpace، file.getusablespace و file.gettalspace جميع الإرجاع 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 في API Java لطيفة
نصائح أخرى
يقوم الأمر DF -KP بإرجاع المساحة الحرة، ولكن الطريقة الأكثر عالمية هي استخدام
اباتشي المشاع IO. filesystemutils.freespacekb ("/ حجم")؛
انها تستخدم DF وكذلك دير لنظام التشغيل Windows
ماذا تقرير القيادة "DF"؟ هل هذا ليس أيضا الإبلاغ عن مساحة حرة على ZFS بشكل صحيح؟