我在做TMS的發(fā)布工具的時(shí)候,就遇到了問(wèn)題,這個(gè)工具的目的是把一個(gè)相同的系統(tǒng),在tomcat下自動(dòng)的發(fā)布多份,但當(dāng)卸載,重新發(fā)布多次后, tomcat就掛了,整個(gè)電腦如同死機(jī)一般。后來(lái)使用文章里的set JAVA_OPTS=-server -Xms800m -Xmx800m -XX:PermSize=64M-XX:MaxNewSize=256m-XX:MaxPermSize=128m -Djava.awt.headless=true 解決了問(wèn)題,不過(guò)在2G的電腦上,我是把-XX:MaxPermSize=128m 調(diào)到了-XX:MaxPermSize=256m。另外我還嘗試了把所有的lib都放到tomcat的lib下,一些lib就不能在本項(xiàng)目中再出現(xiàn)了。
現(xiàn)在看,還是spring,hibernate之類(lèi)的產(chǎn)生的類(lèi)導(dǎo)致PermGen space空間不足造成的這些問(wèn)題。
http://www.javaeye.com/topic/80620?page=1 這個(gè)帖子里討論了這個(gè)問(wèn)題,有人做了些有益的分析可以看看。
我又繼續(xù)在我的筆記本上做了測(cè)試T42,1G內(nèi)存。tomcat版本6.0.14。
set JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
這個(gè)配置反復(fù)發(fā)布是可以的,另外又一次測(cè)試了將項(xiàng)目下的jar包放到tomcat的lib下的對(duì)比。重新安裝一個(gè)lib下為空的程序是10秒,否則是30秒。
總結(jié)一下:
1、修改tomcat的啟動(dòng)參數(shù),類(lèi)似如下的樣子
set JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m












2、將通用的lib文件放到tomcat的目錄下