Java程序在向GlusterFS写入数据时卡住了

时间:2020-03-14 08:09:10

标签: java linux spring-boot ubuntu glusterfs

我在Ubuntu VM上运行的SpringBoot Java程序接收byte[]字节数据,将其存储在内存中,然后通过Files.write函数将其列表附加到文件中。我们可以预期字节总数为30GB。这是两种情况。

  1. 将数据写入VM的普通目录,一切正常。
  2. 我们有一个挂载到GlusterFS卷的目录。我们将数据直接写入此目录。但是,它始终会卡在某个位置,而不会出现错误或异常。通过jconsole,CPU,内存和GC看起来都很正常,然后才卡住。然后,内存从被卡住的点开始变成一条直线。

如果我杀死了Java程序,则将无法访问GlusterFs目录。即使在ls进程卡住了的情况下,我也无法在该目录中执行任何操作。如果我重新启动VM或重新安装GlusterFS,则Java程序正在写入的文件将处于保护模式。

你们遇到过类似的问题吗?安装GlusterFs应该支持POSIX接口。那么普通的VM目录和挂接到GlusterFS卷的目录有什么区别? 也许是死锁或超时?

0 个答案:

没有答案