導航:首頁 > 編程語言 > java增加內存

java增加內存

發布時間:2023-12-23 07:32:03

java64位設置內存大小在哪設置

1.
在eclipse根目錄下打開eclipse.ini,默認內容為(這里設置的是運行當前開發工具的JVM內存分配): -vmargs -Xms40m -Xmx256m -vmargs表示以下為虛擬機設置參數,可修改其中的參數值,也可添加-Xmn,-Xss,另外,eclipse.ini內還可檔喊旦以設置非 堆內存行擾,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
2.
打開eclipse-窗口-首選項-Java-已安裝的JRE(對在當前開發環境中運行的java程序皆生效) 編滲鍵輯當前使用的JRE,在預設VM參數中輸入:-Xmx128m -Xms64m -Xmn32m –Xss16m。
3.
打開eclipse-運行-運行-Java應用程序(只對所設置的java類生效) 選定需設置內存分配的類-自變數,

❷ 關於設置Java虛擬機(JVM)的內存問題

最近做畢設時 遇到了一點小問題 在解析dblp xml文件時(該文件很大 最新版本為 MB) 老是報錯

java lang OutOfMemoryError: Java heap space

最後通過查資料才知道 這是由於JVM堆內存不足造成的 JVM在啟動動的時候一般會設置JVM Heap的值

其初始空間(即 Xms)是物理內存的 / 最大空間( Xmx)不可超過物理內存 在JVM中如果 %的時間是用於GC 且可用的Heap size 不足 %的時候將拋出此異常信息 出現這種問題可以通過修改JVM heap大小解決

點擊(此處)折疊或打開

java Xms M Xmx M className

以上設置JVM初始化堆內存為 M 最大可用堆內存為 M

( )在命令行中設置的方法就如上面所述

( )在Eclipse中可以這樣設置

在eclipse的 Run >Run Configurations >Arguments下的VM Arguments中設置

Xms M Xmx M

另外可以使用 java X查看其它JVM參數情況

點擊(此處)折疊或打開

D:work>java X

Xmixed mixed mode execution (default)

Xint interpreted mode execution only

Xbootclasspath:<directories and zip/jar files separated by ;>

set search path for bootstrap classes and resources

Xbootclasspath/a:<directories and zip/jar files separated by ;>

append to end of bootstrap class path

Xbootclasspath/p:<directories and zip/jar files separated by ;>

prepend in front of bootstrap class path

Xnoclassgc disable class garbage collection

Xincgc enable incremental garbage collection

Xloggc:<file> log GC status to a file with time stamps

Xbatch disable background pilation

Xms<size> set initial Java heap size

Xmx<size> set maximum Java heap size

Xss<size> set java thread stack size

Xprof output cpu profiling data

Xfuture enable strictest checks anticipating future default

Xrs rece use of OS signals by Java/VM (see documentation)

Xcheck:jni perform additional checks for JNI functions

Xshare:off do not attempt to use shared class data

Xshare:auto use shared class data if possible (default)

Xshare:on require using shared class data otherwise fail

The X options are non standard and subject to change without notice

可以通過java lang Runtime的一些方法查看jvm的內存使用情況

點擊(此處)折疊或打開

System out println( Total Memory: + Runtime getRuntime() totalMemory() / ( * + MB )

System out println( Free Memory: + Runtime getRuntime() freeMemory() / ( * ) + MB )

System out println( Max Memory: + Runtime getRuntime() maxMemory() / ( * ) + MB )

maxMemory()這個方法返回的是java虛擬機(這個進程)能構從操作系統那裡挖到的最大的內存 以位元組為單位

totalMemory()這個方法返回的是java虛擬機現在已經從操作系統那裡挖過來的內存大小 也就是java虛擬機這個進程當時所佔用的所有內存

freeMemory為當前jvm中沒有使用的內存

附 jvm參數說明 (轉自)

server:一定要作為第一個參數 在多個CPU時性能佳

Xms java Heap初始大小 默認是物理內存的 /

Xmx java heap最大值 建議均設為物理內存的一半 不可超過物理內存

XX:PermSize:設定內存的永久保存區初始大小 預設值為 M (我用visualvm exe查看的)

XX:MaxPermSize:設定內存的永久保存區最大 大小 預設值為 M (我用visualvm exe查看的)

XX:SurvivorRatio= :生還者池的大小 默認是 如果垃圾回收變成了瓶頸 您可以嘗試定製生成池設置

XX:NewSize: 新生成的池的初始大小 預設值為 M

XX:MaxNewSize: 新生成的池的最大大小 預設值為 M

如果 JVM 的堆大小大於 GB 則應該使用值 XX:newSize= m XX:MaxNewSize= m XX:SurvivorRatio= 或者將堆的總大小的 % 到 % 分配給新生成的池 調大新對象區 減少Full GC次數

+XX:AggressiveHeap 會使得 Xms沒有意義 這個參數讓jvm忽略Xmx參數 瘋狂地吃完一個G物理內存 再吃盡一個G的swap

Xss 每個線程的Stack大小 Xss 這使得JBoss每增加一個線程(thread)就會立即消耗 M內存 而最佳值應該是 K 默認值好像是 k

verbose:gc 現實垃圾收集信息

Xloggc:gc log 指定垃圾收集日誌文件

Xmn young generation的heap大小 一般設置為Xmx的 分之一

XX:+UseParNewGC 縮短minor收集的時間

XX:+UseConcMarkSweepGC 縮短major收集的時間 此選項在Heap Size 比較大而且Major收集時間較長的情況下使用更合適

XX:userParNewGC 可用來設置並行收集【多CPU】

XX:ParallelGCThreads 可用來增加並行度【多CPU】

lishixin/Article/program/Java/hx/201311/26103

閱讀全文

與java增加內存相關的資料

熱點內容
程序中的編譯執行 瀏覽:30
plc控制與單片機控制 瀏覽:882
如何讓安卓手機操控電腦 瀏覽:187
電腦電銷加密電話號碼破解 瀏覽:505
世界史綱pdf 瀏覽:133
湖北社保年審app叫什麼名字 瀏覽:852
邁達克雲伺服器 瀏覽:597
mfc深入淺出從mfc設計到mfc編程 瀏覽:81
螢石雲伺服器連接設置 瀏覽:325
中國名著pdf 瀏覽:592
華為伺服器設備序列號怎麼看 瀏覽:319
跑永輝生活配送用什麼app 瀏覽:149
ug識別符號命令在哪裡 瀏覽:719
pdf文件改文字 瀏覽:732
查詢qq號劍靈伺服器地址 瀏覽:552
國家反詐中心app為什麼要刷臉 瀏覽:303
iphone怎麼修改dns伺服器地址 瀏覽:85
bandizip解壓位置 瀏覽:168
伺服器的防火牆如何訪問 瀏覽:306
javagoto關鍵字 瀏覽:847