包含javaxmx的詞條

本文目錄一覽:

為什麼JAVA進程佔用內存會超過Xmx設置

Xmx 不是說內存使用不會超過這個值,而是說超過或接近這個值會觸發OLD GC。當觸發Young GC 後部分對象可能會從年輕帶進入老年代。但老年代這個時候不一定有足夠的內存來保存這些對象。老年代如何判定內存是否足夠。 就是Xmx減去已經用了的內存再減去本次須要的內存。 如果不夠就會觸發OLD GC。哎,越解釋越多。你就記着這個值就是建議內存最大使用值。 如果內存使用超過這個值,jvm認為還有內存可以使用,也會將對象一直往堆裡面放,不過會頻繁觸發 FULL GC

啟動JAVA程序時,參數-Xms及Xmx有什麼用

-Xms是用來設置你的應用程序能夠使用的最大內存數,如果程序要花很大內存的話,那就需要修改增加此數的值。

Xms是用它來設置程序初始化的時候內存棧的大小,增加這個值的話你的程序的啟動性能會得到提高。

所以根據程序的大小,還有電腦的實際配置,來進行這兩個的參數配置即可,參數的單位都是m(兆)。

Java簡介

Java是一種可以撰寫跨平台應用軟件的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、遊戲控制台、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。

主要組成

Java由四方面組成:

●Java編程語言,即語法。

●Java文件格式,即各種文件夾、文件的後綴。

●Java虛擬機(JVM),即處理*.class文件的解釋器。

●Java應用程序接口(Java API)。

體系

Java分為三個體系,分別為:

Java SE(J2SE,Java2 Platform Standard Edition,標準版),

JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版),

Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

java -Xmx512M -cp 是什麼意思啊

java 主執行情況,用於啟動JAVA程序。

-Xms是設置虛擬機的初始分配的堆內存大小, 如果程序非常占內存, 需要用這個參數設置。

-cp就是classpath, 加載類的路徑,用於類加載器搜索運行時相關類。

常常一起配合使用的還有以下幾個參數

-Xmx512m JVM最大允許分配的堆內存,按需分配。

-XX:PermSize=64M JVM初始分配的非堆內存。

-XX:MaxPermSize=128M JVM最大允許分配的非堆內存,按需分配。

這些參數設置保障程序穩定運行,可以防止內存溢出的錯誤。

JVM 中最大堆大小有三方面限制:相關操作系統的數據模型(32-bt還是64-bit)限制;系統的可用虛擬內存限制;系統的可用物理內存限制。32位系統下,一般限制在1.5G~2G;64為操作系統對內存無限制。在Windows Server 2003 系統,3.5G物理內存,JDK5.0下測試,最大可設置為1478m。

更多關於內存優化的問題請參考《JVM調優總結 -Xms -Xmx -Xmn -Xss – unixboy – ITeye技術網站》

Java中-XMX -xmn 是什麼的縮寫

這個應該是 eclipse 的配置文件 eclipse.ini 中的配置語句。在配置文件中直接傳遞給 java vm 的參數並不多,調用形式是這樣的:

eclipse [normal arguments] -vmargs -Xmx256M [more VM args]

1. -Xmx 和 -Xms 作為主要的參數,都是放在 -vmargs 後面作為二級參數傳遞給 java vm 的。以 -X 開頭的參數是和實現有關的,並不是適用於所有的 VMs,對於 -Xms 和 -Xmx 其含義為:

-Xms:minimum memory size for pile and heap

-Xmx:maximum memory size for pile and heap

2. 對於具體含義的猜測:

最開始只有 -Xms 的參數,表示 `初始` memory size(m表示memory,s表示size);

緊接是參數 -Xms,為了對齊三字符,壓縮了其表示形式,採用計算機中約定表示方式: 用 x 表示 “大”,因此 -Xmx 中的 m 應當還是 memory。既然有了最大內存的概念,那麼一開始的 -Xms 所表示的 `初始` 內存也就有了一個 `最小` 內存的概念(其實常用的做法中初始內存採用的也就是最小內存)。如果不對齊參數長度的話,其表示應當是 -Xmsx

3.另外在配置 eclipse.ini 的小常識:

JVM 最小分配內存(初始分配內存)由-Xms指定,默認是物理內存的1/64

JVM最大分配的內存由-Xmx指定,默認是物理內存的1/4

java-Xmx參數問題

1) 參數中-Xms的值大於-Xmx,或者-XX:PermSize的值大於-XX:MaxPermSize;

2) -Xmx的值和-XX:MaxPermSize的總和超過了JVM內存的最大限制,比如當前操作系統最大內存限制,或者實際的物理內存等等。說到實際物理內存這裡需要說明一點的是,如果你的內存是1024MB,但實際系統中用到的並不可能是1024MB,因為有一部分被硬件佔用了。

.-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

運行時帶上參數

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/254053.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 17:40
下一篇 2024-12-14 17:40

相關推薦

發表回復

登錄後才能評論