有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的Linux用户磁盘配额检查

我需要在使用Java的Linux系统上获得自由用户磁盘配额(而不是自由磁盘空间)。在这种情况下,用户磁盘配额可以受到限制(例如2GB),但可用磁盘空间相当大(例如TB)

问题是我有一些java应用程序正在运行,可以写入文件系统。在用户磁盘配额用完之前,我想主动通知用户同样的情况。 我尝试了各种解决方案,但都不起作用

  1. 普通Java文件API getFreeSpace()和getUSableSpace()都为我提供了可用磁盘空间,而不是可用磁盘配额
  2. 尝试使用Sigar API,但在Sigar中找不到任何API,这给了我这个
  3. 尝试使用随机访问文件。设置长度(一些阈值)以检查一些阈值空间是否可用。但它在Linux系统上也不起作用。它创建了稀疏文件,实际上创建的文件具有一定的_阈值长度,但不占用实际空间(块)
  4. 尝试了配额Linux命令,它可以工作,但我不想使用依赖于系统的命令。这在某些口味上可能有问题
  5. 其中一种方法是实际创建一些_阈值大小的文件,但在每x秒之后这样做将不必要地消耗CPU

我的主要需求是有任何方法可以给我自由用户磁盘配额,或者允许我通过创建一些\u阈值大小的文件来检查自由空间,而不需要占用大量CPU
请帮忙

谢谢

有什么需要帮忙的吗


共 (0) 个答案