您好frnds我,我們已經遷移了Java Web應用程序上的Java 1.6,Tomcat的6,的Oracle 11g 但經過一段時間的網站,現在我們所面臨的問題正在下降: 我們得到了Java堆內存不足的錯誤許多線程處於等待狀態。 Tomcat是越來越吊起來,我們的網站正着手的Tomcat 6線程問題
信息:爲連接器創建了地址空和端口80 2月21日線(200)的最大數量,2013下午9時56分04秒 這裏是線程日誌:
日誌"main" prio=10 tid=0x09f67c00 nid=0x2d51 runnable [0xf7622000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
- locked <0xc5078c60> (a java.net.SocksSocketImpl)
"VM Thread" prio=10 tid=0x09f8ac00 nid=0x2d52 runnable
"VM Periodic Task Thread" prio=10 tid=0x09f9cc00 nid=0x2d58 waiting on condition
JNI global references: 1074
Heap
def new generation total 78656K, used 78533K [0xbf760000, 0xc4cb0000, 0xc4cb0000)
eden space 69952K, 100% used [0xbf760000, 0xc3bb0000, 0xc3bb0000)
from space 8704K, 98% used [0xc4430000, 0xc4c91428, 0xc4cb0000)
to space 8704K, 0% used [0xc3bb0000, 0xc3bb0000, 0xc4430000)
tenured generation total 174784K, used 174783K [0xc4cb0000, 0xcf760000, 0xcf760000)
the space 174784K, 99% used [0xc4cb0000, 0xcf75fff8, 0xcf760000, 0xcf760000)
compacting perm gen total 33792K, used 33647K [0xcf760000, 0xd1860000, 0xd3760000)
the space 33792K, 99% used [0xcf760000, 0xd183be68, 0xd183c000, 0xd1860000)
ro space 10240K, 61% used [0xd3760000, 0xd3d86298, 0xd3d86400, 0xd4160000)
rw space 12288K, 60% used [0xd4160000, 0xd4896cb8, 0xd4896e00, 0xd4d60000)
結束
請指導。
感謝, 阿魯
WAITING狀態和OutOfMemoryErrors中的線程完全不同。第一個問題根本不是問題(但可以),也不能與後者相關。我會首先面對OOM錯誤。堆和permgen大小是否設置爲與遷移之前相同? – MRalwasser 2013-02-28 17:30:39
@MRalwasser:我們正在使用這些選項JAVA_OPTIONS =「 - Xms512m -Xmx2048m -XX:MaxPermSize = 512m -verbose:gc」; export JAVA_OPTIONS – aru 2013-02-28 17:32:35
試試用JAVA_OPTS代替JAVA_OPTIONS。 – 2013-02-28 18:05:53