首先,我說謊,它不是一個真正的普通jsp網站。它有幾頁數據庫訪問和一個基於lucene的搜索引擎......以及大約400個獨立的jsp頁面。在普通的jsp站點上可能的內存泄漏
的問題是,我們不能訪問到生產服務器上的管理員,說該網站是消耗太多的內存(200 +兆),以及我們可能面臨一個內存泄漏,因爲他們迫使重新啓動它。
我不是一個jsp專家,但我懷疑這不是真正的內存泄漏,並且數據庫頁面和lucene搜索與此問題無關。我知道每個jsp頁面都被編譯成一個java類,然後執行,並保存在內存中供以後訪問。
真正的問題是:可以提升(對於400,我認爲是)獨立jsp頁面數量導致內存使用量增長到200M?
如果是的話,你會如何降低內存使用量?使用包含SSI(避免爲此目的使用jsp頁面)可能是一種選擇?
在此先感謝
好吧,所以每個jsp的半個meg並不是平常的東西。有一些JSP消耗大約1.5M,並且僅由文本(大約15k)組成,並且包含語句,並且沒有會話垃圾。這很奇怪,因爲沒有jsp頁面的權重小於600k。 – azkotoki 2009-09-07 09:53:13
我可以建議的只有一個這樣的JSP,並逐漸刪除部分,直到找到正在發生的事情。也許一些大型數據結構正在創建?考慮到JDBC結果集可能沒有被快速關閉? – djna 2009-09-07 10:49:16