java VM argument_java vm args
這個(gè)問(wèn)題主要還是由這個(gè)問(wèn)題?java.lang.OutOfMemoryError: Java heap space 引起的。第一次出現(xiàn)這樣的的問(wèn)題以后,引發(fā)了其他的問(wèn)題。在網(wǎng)上一查可能是JAVA的堆棧設(shè)置太小的原因。
跟據(jù)網(wǎng)上的答案大致有這兩種解決方法:
1、設(shè)置環(huán)境變量
解決方法:手動(dòng)設(shè)置Heap size
修改TOMCAT_HOME/bin/catalina.sh
set JAVA_OPTS= -Xms32m -Xmx512m
可以根據(jù)自己機(jī)器的內(nèi)存進(jìn)行更改。
2、java -Xms32m -Xmx800m className
就是在執(zhí)行JAVA類文件時(shí)加上這個(gè)參數(shù),其中className是需要執(zhí)行的確類名。(包括包名)
這個(gè)解決問(wèn)題了。而且執(zhí)行的速度比沒(méi)有設(shè)置的時(shí)候快很多。
如果在測(cè)試的時(shí)候可能會(huì)用Eclispe 這時(shí)候就需要在Eclipse ->run -arguments 中的VM arguments 中輸入-Xms32m -Xmx800m這個(gè)參數(shù)就可以了。
后來(lái)在Eclilpse中修改了啟動(dòng)參數(shù),在VM arguments 加入了-Xms32m -Xmx800m,問(wèn)題解決。
一、java.lang.OutOfMemoryError: PermGen space
PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域,
這塊內(nèi)存主要是被JVM存放Class和Meta信息的,Class在被Loader時(shí)就會(huì)被放到PermGen space中,
它和存放類實(shí)例(Instance)的Heap區(qū)域不同,GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對(duì)
PermGen space進(jìn)行清理,所以如果你的應(yīng)用中有很多CLASS的話,就很可能出現(xiàn)PermGen space錯(cuò)誤,
這種錯(cuò)誤常見(jiàn)在web服務(wù)器對(duì)JSP進(jìn)行pre compile的時(shí)候。如果你的WEB APP下都用了大量的第三方j(luò)ar, 其大小
超過(guò)了jvm默認(rèn)的大小(4M)那么就會(huì)產(chǎn)生此錯(cuò)誤信息了。
解決方法: 手動(dòng)設(shè)置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:???$CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建議:將相同的第三方j(luò)ar文件移置到tomcat/shared/lib目錄下,這樣可以達(dá)到減少jar 文檔重復(fù)占用內(nèi)存的目的。
二、java.lang.OutOfMemoryError: Java heap space
Heap size 設(shè)置
JVM堆的設(shè)置是指java程序運(yùn)行過(guò)程中JVM可以調(diào)配使用的內(nèi)存空間的設(shè)置.JVM在啟動(dòng)的時(shí)候會(huì)自動(dòng)設(shè)置Heap size的值,
其初始空間(即-Xms)是物理內(nèi)存的1/64,最大空間(-Xmx)是物理內(nèi)存的1/4??梢岳肑VM提供的-Xmn -Xms -Xmx等選項(xiàng)可
進(jìn)行設(shè)置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
提示:在JVM中如果98%的時(shí)間是用于GC且可用的Heap size 不足2%的時(shí)候?qū)伋龃水惓P畔ⅰ?/p>
提示:Heap Size 最大不要超過(guò)可用物理內(nèi)存的80%,一般的要將-Xms和-Xmx選項(xiàng)設(shè)置為相同,而-Xmn為1/4的-Xmx值。
解決方法:手動(dòng)設(shè)置Heap size
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:???$CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -Xms800m -Xmx800m???-XX:MaxNewSize=256m"
三、實(shí)例,以下給出1G內(nèi)存環(huán)境下java jvm 的參數(shù)設(shè)置參考:
JAVA_OPTS="-server -Xms800m -Xmx800m?-XX:PermSize=64M?-XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
很大的web工程,用tomcat默認(rèn)分配的內(nèi)存空間無(wú)法啟動(dòng),如果不是在myeclipse中啟動(dòng)tomcat可以對(duì)tomcat這樣設(shè)置:
TOMCAT_HOME/bin/catalina.bat 中添加這樣一句話:
set JAVA_OPTS= -Xmx1024M -Xms512M -XX:MaxPermSize=256m
如果要在myeclipse中啟動(dòng),上述的修改就不起作用了,可如下設(shè)置:
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的
Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m
以上是轉(zhuǎn)貼,但本人遇見(jiàn)的問(wèn)題是:在myeclipse中啟動(dòng)Tomcat時(shí),提示"ava.lang.OutOfMemoryError: Java heap space",解決辦法就是:
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的
Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m
挺靈的。
Java VM(虛擬機(jī)) 參數(shù)
-XX:PermSize/-XX:MaxPermSize,永久代內(nèi)存: 1. 虛擬機(jī)參數(shù):-ea,支持 assert 斷言關(guān)鍵字 eclipse 默認(rèn)是不開(kāi)啟此參數(shù)的,也就是雖然編譯器支持 asser ...
一個(gè)在 Java VM 上使用可觀測(cè)的序列來(lái)組成異步的、基于事件的程序的庫(kù) RxJava,相當(dāng)好
https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,響 ...
獲取Java VM中當(dāng)前運(yùn)行的所有線程
/** * 獲取Java VM中當(dāng)前運(yùn)行的所有線程 * @return */ public static Thread[] findAllThreads() { ThreadGroup group = ...
WLST Hangs Up Because of Java VM ClassLoader Deadlock
APPLIES TO: Oracle WebLogic Server - Version 10.0 to 10.3.6Information in this document applies to a ...
Javascript Engine, Java VM, Python interpreter, PyPy – a glance
提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter =& ...
【三】Java VM 發(fā)展史
1. Sun Classic VM? jdk1.0? 第一款商用虛擬機(jī). 只能使用純解釋器來(lái)運(yùn)行Java代碼.沒(méi)有自己的判斷,會(huì)把每一個(gè)方法每一行代碼都編譯,效率不好.導(dǎo)致大家普遍認(rèn)為Java代碼運(yùn)行 ...
Error: Java VM internal error:Error Loading javai.dll
因?yàn)榍皫滋斓腏MS測(cè)試,第一次寫了loadrunner的腳本,感覺(jué)路一下子寬了. 知道loadrunner可以使用java寫腳本,今天就試了一下,遇到了兩個(gè)第一次寫Java Vuser腳本普遍都會(huì)遇到 ...
jboss啟動(dòng)時(shí)java VM參數(shù)設(shè)置
jboss服務(wù)器中jvm參數(shù)的設(shè)置: 在$JBOSS_HOME/bin下的run.sh里面存在這么一個(gè)設(shè)置: #?Force?IPv4?on?Linux?systems?since?IPv6?does ...
隨機(jī)推薦
php工作筆記7-概率算法
a/m? b/m?? c/m?? d/m? ?10%??? 40%??? 20% a+b+c+d+... < = m array k?? =? {a,b,c...} randt = rand(1 ...
炫酷的jquery瀑布流
最近做了一個(gè)瀑布流效果,思路很簡(jiǎn)單 首先計(jì)算屏幕一行可以放多少個(gè)圖片,然后在第二行開(kāi)始,計(jì)算每一列的高度并取出最小值,將新圖片加載在最小列高度下,如此循環(huán),并且設(shè)定一個(gè)條件,當(dāng)滑動(dòng)到一定距離后,開(kāi)始重 ...
FoxMail的Bug
Foxmail 7.2 build6.040,win7中文專業(yè)版 下載騰訊的企業(yè)郵箱的郵件, 自動(dòng)配置為imap收郵件 收件箱應(yīng)該為1740封 郵件 實(shí)際foxmail卻只收到1500多封 改成pop ...
Rainyday.js – 傻眼了!竟然有如此逼真的雨滴效果
Rainyday.js 是一個(gè)輕量的 JavaScript 庫(kù),利用 HTML5 Canvas 實(shí)現(xiàn)雨滴下落在玻璃表面的動(dòng)畫(huà)效果.Rainyday.js 盡可能的模擬現(xiàn)實(shí)的雨滴效果,幾乎可以以假亂真了 ...
7-Highcharts曲線圖之分辨帶
7-Highcharts曲線圖之分辨帶 ...PHP學(xué)習(xí)筆記05——面向?qū)ο?/p>
I.MX6 Power off register hacking
/*********************************************************************** * I.MX6 Power off register ...
淺淡Windows7 32位與64位/x86與x64的區(qū)別
看到有很多會(huì)員問(wèn)到底是選Windows7?x86,還是選x64.這里簡(jiǎn)單的談一下這這兩種系統(tǒng)的區(qū)別. 簡(jiǎn)單的說(shuō)x86代表32位操作系統(tǒng)? x64代表64位操作系統(tǒng). 簡(jiǎn)單的判斷電腦是否支持64位操作系 ...
[SOJ] DAG?
Description 輸入一個(gè)有向圖,判斷該圖是否是有向無(wú)環(huán)圖(Directed Acyclic Graph). Input 輸入的第一行包含兩個(gè)整數(shù)n和m,n是圖的頂點(diǎn)數(shù),m是邊數(shù).1<=n ...
python3之MongoDB
1.MongoDB簡(jiǎn)介 MongoDB 是由C++語(yǔ)言編寫的,是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng). 在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能. MongoDB 旨在為WEB應(yīng)用提供可 ...
總結(jié)
以上是生活随笔為你收集整理的java VM argument_java vm args的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java throwable用法_jav
- 下一篇: java用thinkpadx1_还用老的