2011年10月17日 星期一

[技術筆記] JVM OutOfMemoryError: Java heap space


最近一隻JMS+SNMP程式跑著跑著就掛了,錯誤訊息:

javax.jms.JMSException: [C4089]: Caught JVM Error: java.lang.OutOfMemoryError: Java heap space

奇怪明明thread已經把他terminate了,

開效能監視器看,所屬的java.exethread數目還是會一直增加,

不過剛剛印出一堆東西來看,應該是找到源頭了

一個snmpconnection會產生DefaultUdpTransportMappingTimer兩條thread

除了terminate=true;之外,還得加入snmp.close()

不然snmp產生那兩條thread不會被回收掉,

時間久了JVM就炸掉了。

終焉に咲く花-Asriel