昨天查了一天的資料,運(yùn)氣不錯(cuò),收獲不小,解決了一個(gè)老大難問(wèn)題:JBoss內(nèi)存緊張的問(wèn)題。
這是一個(gè)困擾了我兩年整的問(wèn)題,就是從前年這個(gè)時(shí)候,用JBoss 3.2.1架站以來(lái),始終是一個(gè)大問(wèn)題。不大的站點(diǎn),1G的內(nèi)存都不夠用,經(jīng)常要消耗500Mb的交換內(nèi)存(swap)。
原來(lái)是自己犯了非常低級(jí)的錯(cuò)誤,不懂JAVA_OPTS各參數(shù)的含義造成的。
之前的JAVA_OPTS是 -Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap
這個(gè)JAVA_OPTS犯了2個(gè)致命的錯(cuò)誤:
1. +XX:AggressiveHeap會(huì)使得 Xms 1220m沒(méi)有意義。這個(gè)參數(shù)讓jvm忽略Xmx參數(shù),瘋狂地吃完一個(gè)G物理內(nèi)存,再吃盡一個(gè)G的swap。
另外Xmx作為允許jvm使用的最大內(nèi)存數(shù)量,不應(yīng)該超過(guò)物理內(nèi)存的90%。
而之所以使用了這個(gè)參數(shù),是因?yàn)椴患拥脑挘琂Boss會(huì)在運(yùn)行一天左右的時(shí)間后迅速崩潰,上機(jī)課是,甚至出現(xiàn)過(guò)半個(gè)小時(shí)就崩潰的情況。
之所以要用這個(gè)參數(shù),用swap支持服務(wù)器運(yùn)行,是因?yàn)榉噶讼旅娴腻e(cuò)誤:
2. -Xss 15120k
這使得JBoss每增加一個(gè)線程(thread)就會(huì)立即消耗15M內(nèi)存,而最佳值應(yīng)該是128K,默認(rèn)值好像是512k.
這就是JBoss剛啟動(dòng)時(shí),還有200Mb內(nèi)存富余,但會(huì)在一個(gè)小時(shí)內(nèi)迅速用完,因?yàn)榉?wù)器的threads在迅速增加。前3天,每天都多吃80Mb左右的swap.在第四天開(kāi)始穩(wěn)定下來(lái)。今年春節(jié)在外度假,觀察到了這個(gè)現(xiàn)象,卻不理解其原因:服務(wù)器在線程到達(dá)100之后,一般不再增加新的線程,新增加的在用完之后,會(huì)被迅速destroy,??褂玫哪詿嬉不厥樟恕R虼耍?旁詿航諂詡洌?鄄斕椒?衿髟?1.25-2.10所使用的線程基本是1.21-1.23創(chuàng)建的,因此沒(méi)有再消耗新的內(nèi)存。服務(wù)器持續(xù)運(yùn)行時(shí)間,也因此大大超乎我5天的預(yù)期,到達(dá)了20天。
昨天所作的修改:
1.修改JAVA_OPTS,去掉+XX:AggressiveHeap,修改Xss。現(xiàn)在的JAVA_OPTS為:
-Xms 520m -Xmx 900m -Xss 128k
2.修改deploy/jbossweb-tomcat55.sar/service.xml
將maxThreads根據(jù)目前的訪問(wèn)量由默認(rèn)的250降為75,并使用jboss 4默認(rèn)未寫(xiě)在標(biāo)準(zhǔn)service.xml里面而jboss 3寫(xiě)入了的2個(gè)參數(shù): maxSparseThreads=55,minSparseThreads=25
3.修改了oracle-ds.xml將最大連接數(shù)有150降為50.
4.去掉了一些不用的服務(wù)。
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(2)
隨筆分類(lèi)
文章分類(lèi)
FLASH
Java
搜索
最新評(píng)論

- 1.?re: WebService開(kāi)發(fā)筆記 1 -- 利用cxf開(kāi)發(fā)WebService竟然如此簡(jiǎn)單
- sdasd
- --sd
- 2.?re: WebService開(kāi)發(fā)筆記 1 -- 利用cxf開(kāi)發(fā)WebService竟然如此簡(jiǎn)單
- 公司的分公司的
- --鵝鵝鵝
- 3.?re: WebService開(kāi)發(fā)筆記 1 -- 利用cxf開(kāi)發(fā)WebService竟然如此簡(jiǎn)單
- 不錯(cuò)。,謝謝了
- --wanxkl
- 4.?re: permgen space報(bào)錯(cuò)
- 垃圾 都說(shuō)錯(cuò)了
- --啊啊啊
- 5.?re: WebService開(kāi)發(fā)筆記 1 -- 利用cxf開(kāi)發(fā)WebService竟然如此簡(jiǎn)單
- 最近項(xiàng)目用到CXF做開(kāi)發(fā),學(xué)習(xí)下,謝謝
- --靚女購(gòu)物街