为什么forceMerge()操作会在RedHat 6.1上的Java 7中导致相当慢的IO操作?

时间:2015-08-21 02:07:50

标签: java performance io lucene

目前我在使用Lucene时遇到问题。

我的一些机器在forceMerge(1)上花费了太多时间(索引大小为15GB,耗时10-20小时)。通过使用top,iostat,jstack等命令。

我发现cpu的平均值和磁盘太低,几乎为零。并且索引文件的大​​小增加得非常慢。来自jstack,

我发现应用程序挂起在IO操作上,比如FileOutputStream或DirectByteArray。

但是当我使用命令“echo 3> / proc / sys / vm / drop_caches”时,io可能会变得正常。

这个问题是否与JVM,操作系统和硬件有关?是否有人遇到过同样的问题,或者对Java,Linux和IO有任何想法。

有关我的系统和应用程序的一些基本信息。

  • Lucece版本:4.10.3
  • Jdk版本:jdk 1.7.0_05
  • 操作系统:redhat 6.1
  • cpu:IntelX5650
  • 内存:24GB

0 个答案:

没有答案