自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Linux系統(tǒng)中JVM內(nèi)存2GB上限

開發(fā) 后端
有些用戶反映在Linux系統(tǒng)中運行的Java應用,JVM內(nèi)存只能使用到2GB,在Java虛擬機中如果把-Xmx參數(shù)設(shè)置到2GB左右(約1.5-1.8GB),Java進程就根本啟動不了。本文將弄清楚這原因。

我們通常使用的JVM都是32位的(64位的JVM會損失10-20%的性能,通常不建議使用),而32位程序的尋址空間應該是4GB才對,為什么Linux上的JVM內(nèi)存只能使用2GB呢?

經(jīng)過和JDK研發(fā)組的人員溝通,終于弄清楚了一些相關(guān)的原因。這個問題存在于早期的一些Linux版本中,特別是內(nèi)核2.5以前的版本,2.6以后的版本就基本上沒有這個問題了。原來這些Linux版本對進程有個對內(nèi)存2GB的限制,是一個地址連續(xù)的內(nèi)存塊大小的上限,而JVM的堆空間(heap size)需要連續(xù)的地址空間,因此,2GB就是java進程的理論使用的內(nèi)存上限。

如果java應用需要使用較大的內(nèi)存,建議使用較新版本的linux,或者修改Linux的應用/內(nèi)核內(nèi)存比配置為3GB:1GB。還有就是選擇如Solaris等的UNIX操作系統(tǒng)。象Solaris這樣的操作系統(tǒng),在JVM內(nèi)存管理上沒有2GB的限制,因此可以把heap size設(shè)置到3.5-3.6GB左右。

【編輯推薦】

  1. 淺談Sun JVM內(nèi)存管理及調(diào)優(yōu)
  2. 監(jiān)視JSP中JVM可用內(nèi)存
  3. JDK、JRE、JVM之間的關(guān)系
  4. 手把手教你刪除MS JVM的幾種方法
  5. Java虛擬機(JVM)中的內(nèi)存設(shè)置詳解
責任編輯:彭凡 來源: 51CTO論壇
相關(guān)推薦

2012-03-16 16:22:55

筆記本評測

2009-04-30 08:57:11

微軟操作系統(tǒng)Windows 7

2024-08-08 11:49:19

2024-01-26 15:12:59

TCP參數(shù)窗口

2010-04-28 10:39:25

2020-03-12 08:53:55

內(nèi)存整數(shù)排序

2009-08-21 10:40:47

IT產(chǎn)品

2020-03-10 18:45:44

微軟WindowsWindows XP

2023-02-04 12:32:39

微軟Windows 11Tiny11

2022-01-13 15:20:45

Ubuntu內(nèi)存Linux

2018-04-23 09:08:12

Windows 語言 系統(tǒng)

2019-05-06 08:37:14

JVMLinux內(nèi)存

2024-02-07 11:41:51

大語言模型鴻蒙alpaca模型

2011-05-06 16:47:24

筆記本海爾簡愛7G

2010-09-27 13:48:41

JVM內(nèi)存結(jié)構(gòu)

2010-09-25 12:38:40

JVM內(nèi)存模型

2009-03-16 09:28:35

黑客斷指U盤

2022-01-13 10:11:00

Ubuntu樹莓派硬件門檻

2010-09-26 13:23:13

JVM內(nèi)存管理機制

2009-06-04 16:27:39

Java虛擬機JVMGC
點贊
收藏

51CTO技術(shù)棧公眾號