小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MyEclipse內(nèi)存溢出解決辦法

 bleach尸魂界 2014-06-18
本資源引自:
MyEclipse內(nèi)存溢出解決辦法 - 西風的專欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/it_palmer/article/details/6087750
------------------------------------------------------------------------------------------------------------------------
這段時間一直在用StyleReport做報表,把報表的web系統(tǒng)部署到Tomcat5.5.20上之后,
一直都是內(nèi)存溢出,煩的我頭都大了。今天終于解決了,哈哈! 記下來,以備忘。 
我自己的辦法:
用myEclipse啟動Tomcat時的設置,如下圖 (這里竟然不能上傳圖片,只好用文字描述了) 
在myEclipse中選擇:
Window->Preferences,
在彈出的窗口的左邊的數(shù)上選擇: 
MyEclipse Enterprise workbench->Servers->Tomcat->Tomcat5.x
(我用的是Tomcat5.5.20)->JDK,
這時右邊的面板下方出現(xiàn)一個 Optional Java VM argumenets的文本域,
在里面加入: -Xmn512m -Xmx800m 
其中:-Xmn512m –Xmx800m的意思java虛擬機的
最小內(nèi)存為512M,
最大內(nèi)存為800M。 

下面是轉網(wǎng)上的一片文章(http://blog.csdn.net/fableking/archive/2008/07/22/2691724.aspx 

tomcat本身是一個很好的服務器容器,免費,功能強大,
身后被很多強大的公司和組織默默的支持著,
造就了一個可以和weblogic等收費容器抗衡的地位,但是tomcat本身還是存在一些缺陷。 
在tomcat設計之初,因為考慮到客戶的服務器性能不同,防止虛擬內(nèi)存不足,
所以tomcat默認設置jvm允許使用內(nèi)存數(shù)為最小64M,最大128M,
但是在一些項目占用資源比較龐大,或者高并發(fā)量的項目中,
很容易造成內(nèi)存不足而tomcat沒有任何征兆就自動停止。 
最好的辦法是修改tomcat對jvm內(nèi)存使用的限制。 
方法有兩個: 
1,編輯%CATALINA_HOME%/bin下面的catalina.bat文件,
在最上面第一行前面寫上 set JAVA_OPTS=-Xms512m -Xmx1024m 
其中-Xms表示jvm最小內(nèi)存數(shù),-Xmx表示最大內(nèi)存數(shù) 
比如,我這里都設置成最小512,最大1024 
當然,這個最小最大并不是只能使用1024的意思,其實這個設置是對系統(tǒng)來設置的,
因為這個jvm占用內(nèi)存數(shù)實際上是針對虛擬內(nèi)存來說,這個設置表示,
無 論系統(tǒng)怎么占用虛擬內(nèi)存,都要保證最小512M的虛擬內(nèi)存共給jvm使用,
當然,就算我jvm占用再大,也不會超過1024,來威脅系統(tǒng)的內(nèi)存使用 。

2,在環(huán)境變量里面添加如下兩個值 
加上TOMCAT_OPTS, CATALINA_OPTS兩個屬性, 
如 SET CATALINA_OPTS= -Xms512m -Xmx1024m; 
意義同上 但是如何查看jvm內(nèi)存使用多少呢?
最簡單的辦法就是打開任務管理器–>進程–>查看–>選擇列,
選上虛擬內(nèi)存數(shù)->確 定,就會看見虛擬內(nèi)存數(shù)了,
這時,你會看見虛擬內(nèi)存會有512~1024M的空間被占用,
那么就是被你設定好的值所占用了,jvm的內(nèi)存使用,
就會在這個 被占用的范圍內(nèi)使用 

另外一個辦法就是寫一個小腳本,如命名為ram.jsp 
代碼為 

<% 
Runtime lRuntime = Runtime.getRuntime(); 
out.println("***BEGIN MEMERY STATISTICS ***</BR>"); 
out.println("Free Momery:"+lRuntime.freeMemory()+"</BR>"); 
out.println("Max Momery:"+lRuntime.maxMemory()+"</BR>"); 
out.println("Total Momery:"+lRuntime.totalMemory()+"</BR>"); 
out.println("Available Processors : "+lRuntime.availableProcessors()+"</BR>"); 
out.println("***END MEMERY STATISTICS ***"); 
%> 

具體都是什么意思,相信你運行了之后就會明白的?。?!


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多