2013-03-27 121 views
0

我在Red Hat 6 64位机器上安装了Jackrabbit 2.4.0(部署为rar到JBoss AS 7.1.0)。 JBoss JVM的最大堆大小设置为8 GB。该机器有24GB的RAM。奇怪的是,当JBoss启动时,它拥有近20 GB的虚拟大小(统计数据来自顶端)。 Linux页面缓存(交换缓存)大约为10 GB,因此系统实际上有5 GB左右的空闲内存。我不知道为什么页面缓存很大,我试图与保存Lucene索引的jackrabbit数据目录的大小建立链接。目录的大小约为10 GB。 我的问题是:Lucene是否使用索引文件的内存映射?Jackrabbit Lucene索引

在此先感谢。

回答

3

我的问题是:Lucene是否使用索引文件的内存映射?

lucene使用内存映射只有if you ask它。您可能还需要阅读this

0

JBOSS总驻留存储器是由几个因素,不是所有的这些都是堆:

  1. 彼尔姆根
  2. JAR和JVM
  3. 映射的字节阵列
  4. 线程栈(〜1MB每线程)

有你的应用程序ation和应用服务器本身。

所以当然你应该使用类似Visual VM的东西来查看发生了什么的细节,但它只会帮助堆和烫发。你需要在Linux上使用像nmap这样的工具来发现其余的东西。

+0

我用VisualVm来查看堆的使用情况和permgen,但一切似乎都很好。在负载情况下,堆的使用情况会有所改变。接近8 GB,然后CMS做它的工作和堆使用率接近1 GB。 – 2013-03-27 17:00:06

+0

我将如何使用nmap来找出过程中隐藏的“虚拟内存”? – 2013-03-27 17:01:03