为什么使用getFreeSpace / getTotalSpace / getUsableSpace会给出df -H命令的不同输出

时间:2016-06-01 05:28:01

标签: java

我有一个外置SSD磁盘(/ dev / sda)。

输入df -h时

size used avil use%
587G 383G 175G 69%
输入df -H时

size used avil use%
630G 411G 188G 69%

使用getTotalSpace() / (1024*1024)时我得到:600772

使用getUsableSpace() / (1024*1024)时我得到:178568

使用getFreeSpace() / (1024*1024)时我得到:209108

如果我尝试计算父母的使用率,我将不会得到69%。

错误是什么?

1 个答案:

答案 0 :(得分:0)

df的69%计算为“used /(used + available)”,即383 / (383 + 175) = 69%。它不是计算为“used / size”。

Java中没有“used”(它与“size-available”不同),因此您无法进行相同的计算。

但是你可以在两种情况下计算“可用/大小”:

  1. 188/630 = 30%
  2. 209108/600772 = 30%
  3. 没有错误。你在比较不同的东西。