linux – Tomcat Solr内存使用

我在 linux服务器上的tomcat服务器上运行solr,当我使用top命令时,我看到“VIRT”非常高
PID USER      PR  NI  VIRT  RES  SHR S %cpu %MEM    TIME+  COMMAND
 4786 root      20   0 19.6g 3.8g  10m S  200 15.9   8:26.13 java
 1808 root      20   0 6437m 162m 4740 S    2  0.7 101:08.75 java
 4889 root      20   0 19352 1580 1064 R    1  0.0   0:00.08 top
31700 MysqL     20   0 6677m 5.2g 4468 S    0 22.0 470:51.49 MysqLd
    1 root      20   0 23708 1464  972 S    0  0.0   0:23.06 init

可能是什么原因或我如何描述这个?

解决方法

您看到如此高的虚拟内存使用率的原因是Solr使用MMapfsDirectory作为操作Lucene索引的认类.此类将尝试将Solr控件下的任何索引映射到虚拟内存 – 核心/索引越多,它就越糟糕.
有趣的是,这不属于JVM的知识/控制. JVM将仅报告您为servlet容器指定的(-xms:128m -Xmx:1024m作为示例)最小/最大内存.他们警告人们或使用更保守的directoryFactory作为认值会很好.

更改solrconfig.xml中的行:

directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"

而是指向类似NIOFSDirectoryFactory的东西.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...