在AIX 32位Java上增加可用本机内存的技术

AIX 32Java上增加可用本机内存的技术

问与答

 

如果您在32AIX上看到本机OutOfMemoryError问题,那么如何增加可用本机内存?

原因

本机内存是用于区分JVM可用的内存和Java应用程序使用的Java堆的术语。所有虚拟化资源(包括Java堆和Java线程)都存储在本机内存中,而JVM在运行时会使用这些数据。该内存称为本机堆。本机堆包含JVM本身的资源。例如,即时编译器,类和ClassLoader,以及Java应用程序。运行Java进程的内存称为进程地址空间。Java和本机堆都共享此存储区。进程地址空间的总大小以及Java堆和本机堆可用的内存量受到操作系统和硬件的限制。

回答

如果在AIX> = 5.2上使用32IBM JVM,并且遇到本机OutOfMemoryErrors,并且最大堆大小(-Xmx)小于2304MB,则不能降低最大堆大小或使用其他技术来获得更多的本机内存,那么您可以通过将受影响的进程的AIX内存模型(LDR_CNTRL = MAXDATA)显式更改为0XB0000000 @ DSA受益。此更改将每个进程的理论本机内存增加了三个段或756MB。但是,通常,此更改将使每个进程的可用本机内存增加大约400MB600MB。此更改不会影响JVM的性能。但是,所做的更改确实是以将所有共享库私下加载到本机内存段中为代价的。如果将一台计算机上的X JVM更改为0xB @ DSA内存模型,那么该计算机的虚拟内存总使用量可能最多增加(N *X-1))MB,其中N是共享库的代码和数据的大小。通常,对于库存的WebSphere Application ServerN约为50MB100MB

要更改WebSphere Application Server中的内存模型,请转到管理控制台->应用程序服务器-> $ SERVER-> Java和流程管理->流程定义->环境条目

  1. 单击新建。名称:LDR_CNTRL值:MAXDATA = 0XB0000000 @ DSA
  2. 点击确定
  3. 单击新建。名称:IBM_JVM_LDR_CNTRL_NEW_VALUE值:MAXDATA = 0XB0000000 @ DSA
  4. 点击确定

 

The AIX® 5.0 Java™ launcher alters its MAXDATA setting in response to the command-line options to optimize the amount of memory available to the process. The default are as follows:

-Xmx <= 2304M     0xA0000000@DSA

2304M < -Xmx <= 3072M   0xB0000000@DSA

3072M < -Xmx 0x0@DSA

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值