偶爾我的Apache Solr的只會往下走,這在日誌文件中的垃圾郵件:Apache Solr實現間歇性關閉
Sep 24, 2013 1:00:21 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.OutOfMemoryError: Java heap space
專用服務器我Solr的安裝是有大量的可用RAM(16GB),有什麼可以造成這種情況?我已經嘗試了一些Google Fu,但是爲什麼還沒有確切的答案,或者除了使用-Xmx512mb來提高允許的堆大小(我認爲這不是最理想的方法)之外的問題。我可能是錯的。
我用我的Solr安裝Jetty,有沒有辦法告訴Jetty使用更多的內存?或者告訴它如何解決這個錯誤,如果它再次發生。
附加信息: 問題是如果我設置了任何大的Xms或Xmx值,即使它位於我獲得的服務器上剩餘的可用內存中。Java運行時環境的內存不足以繼續。
# Out of Memory Error (allocation.inline.hpp:58), pid=10851, tid=47145744939328
#
# JRE version: 7.0_11-b21
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
VM Arguments:
jvm_args: -Dsolr.solr.home=/opt/solr/solr -Xmx64m -Djetty.logs=/var/log/solr -Djetty.home=/root/wmv_solr -Djava.io.tmpdir=/tmp -Xmx256m
java_command: /root/wmv_solr/start.jar /root/wmv_solr/etc/jetty-logging.xml /root/wmv_solr/etc/jetty.xml
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=/usr/java/jdk1.7.0_11
CLASSPATH=.:/usr/java/jdk1.7.0_11/lib/classes.zip
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_11/bin:/opt/ant/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin
SHELL=/bin/bash
/proc/meminfo:
MemTotal: 4033216 kB
MemFree: 755528 kB
Buffers: 274004 kB
Cached: 1939244 kB
SwapCached: 168388 kB
Active: 1923800 kB
Inactive: 1052876 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 4033216 kB
LowFree: 755528 kB
SwapTotal: 4980024 kB
SwapFree: 4784124 kB
Dirty: 2092 kB
Writeback: 0 kB
AnonPages: 762616 kB
Mapped: 39044 kB
Slab: 256200 kB
PageTables: 17496 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 6996632 kB
Committed_AS: 1964148 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 265936 kB
VmallocChunk: 34359471775 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
這仍然是一個持續的問題,我們已經看到在日誌中一種新的錯誤:
Oct 02, 2013 7:14:10 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.OutOfMemoryError: GC overhead limit exceeded
我們正在升級,希望我們的服務器內存,這將解決我們問題,但它不能解釋爲什麼SOLR不使用其他可用的RAM。
問題是如果我設置了任何大的Xms或Xmx值,即使它位於我獲得的服務器上剩餘的可用內存中。Java運行時環境的內存不足以繼續。 –
如果你有足夠的內存可以運行一個32位jvm嗎? –
它安裝了64位版本,是否可以在64位安裝下運行32位?如果是的話,我怎麼能檢查這不是這種情況? –