我在
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作为默认值会很好.
有趣的是,这不属于JVM的知识/控制. JVM将仅报告您为servlet容器指定的(-xms:128m -Xmx:1024m作为示例)最小/最大内存.他们警告人们或使用更保守的directoryFactory作为默认值会很好.
更改solrconfig.xml中的行:
directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"
而是指向类似NIOFSDirectoryFactory的东西.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。