The LDR_CNTRL environment variable controls the way AIX® handles the memory space available to a 32-bit program and the page sizes used in each segment. The POWER4™ and later PowerPC® processors support the use of 16 MB large pages in addition to the default 4 KB pages. The POWER5+™ and later PowerPC processors add support for two new page sizes, 64 KB and 16 GB.
Controlling the available memory space
The SDK typically sets appropriate LDR_CNTRL=MAXDATA settings automatically for the size of the Java™ heap. However, if you explicitly set the LDR_CNTRL=MAXDATA environment variable the SDK will not override the value you have specified. Do not override the automatic settings unless you have a complete understanding of the AIX memory models. For more information about the AIX memory models and the automatic settings used by the SDK, see SDK use of AIX large program support.
Page sizes
AIX v5.2 and later operating systems support 16 MB pages. AIX v5.3 maintenance package 5300-04 on POWER5+ processors adds support for the 64 KB and 16 GB page sizes. The 16 MB and 16 GB pages require AIX system configuration changes. For information on using 16 MB pages with AIX, see http://www.ibm.com/servers/aix/whitepapers/large_page.html. For information about using either 64 KB or 16 GB pages with AIX, see http://www.ibm.com/servers/aix/whitepapers/multiple_page.pdf. The default AIX page size is 4 KB.
The LDR_CNTRL=LARGE_PAGE_DATA environment variable can be used under the AIX v5.2 and later operating systems to control the use of 16 MB pages for the native data area and native heap of a program. You can use 16 MB large pages, if they are available, by setting LDR_CNTRL=LARGE_PAGE_DATA=Y. Using large pages might improve the performance of Java applications that require a large amount of native heap space. In particular, the native heap is used for machine code generated by the just-in-time compiler and Java applications with a large number of compiled methods might benefit from using 16 MB pages for the native heap.
AIX v5.3 maintenance package 5300-04 added LDR_CNTRL variants that independently control the use of different page sizes for the text (TEXTPSIZE), stack (STACKPSIZE) and native data or heap (DATAPSIZE) areas. See the Guide to Multiple Page Size Support on AIX 5L Version 5.3 for general information about these variants: http://www.ibm.com/servers/aix/whitepapers/multiple_page.pdf.
An example of the use of TEXTPSIZE, STACKPSIZE, and DATAPSIZE variants is:
LDR_CNTRL=TEXTPSIZE=4K@STACKPSIZE=64K@DATAPSIZE=64K
This example uses 4 KB pages for text, 64 KB pages for stack and 64 KB pages for the native data and native heap areas. A DATAPSIZE setting will override any LARGE_PAGE_DATA setting.
In the default AIX 5L™ 32-bit process address space model, the initial thread stack size and data of a process are located in the same PowerPC 256 MB segment. Only one page size can be used in a segment. If different page sizes are specified for the stack and data of a standard 32-bit process, the smaller page size will be used for both. See the Guide to Multiple Page Size Support on AIX 5L Version 5.3 for information about how to use different segments for the stack and data of a process: http://www.ibm.com/servers/aix/whitepapers/multiple_page.pdf.
When page sizes are set using LDR_CNTRL, the SDK does not automatically set MAXDATA and it is set to MAXDATA=0. To use a Java heap larger than 2.5 GB, set MAXDATA to a different value. See SDK use of AIX large program support for more information about possible settings. For example:
LDR_CNTR=MAXDATA=0XB0000000@DSA@TEXTPSIZE=4K@STACKPSIZE=64K@DATAPSIZE=64K
The new 64 KB pages are general-purpose and most workloads will see a benefit by using 64 KB pages for text, stack, native data, and the Java heap. The 16 GB pages are intended only for use in very high performance environments.
Note: Use the -Xlp option variants to request that the JVM allocates the Java heap with a specific size of pages.
For more information about using the LDR_CNTRL environment variables and on configuring AIX support for large pages, see http://www.ibm.com/servers/aix/whitepapers/large_page.html for AIX v5.2 information on 16 MB pages, and http://www.ibm.com/servers/aix/whitepapers/multiple_page.pdf for information on AIX v5.3 support of 64 KB and 16 GB pages.
Parent topic: Running Java applications
分享到:
相关推荐
在AIX操作系统中,进程的内存管理涉及到一个关键的参数,即`LDR_CNTRL`环境变量。这个变量用于控制一个进程可以使用的数据段的最大数量。数据段是内存分配的基本单位,它们存储程序运行时的数据和指令。在AIX中,...
本篇文章将深入探讨ARM架构中的LDR指令和LDR伪指令,这对于任何涉及ARM编程的朋友来说都是极其重要的知识。 首先,我们来了解LDR指令。LDR是Load Register的缩写,它用于从内存加载数据到寄存器。基本格式为:LDR ,...
《PyPI官网下载:ir_ldr_mingjie-0.1.4-py3-none-any.whl》 PyPI(Python Package Index)是Python社区官方的软件包仓库,它为Python开发者提供了一个集中发布和分享自己开发的Python库的平台。在给定的标题中,...
标题“LDR_ARDUINO_1_arduino_”表明这是一个关于使用Arduino平台与光敏电阻(LDR)交互的项目。LDR是Light Dependent Resistor的缩写,它是一种电阻值随光线强度变化的元件,常用于光照检测。 在描述中,“ldr ...
在AIX 5.1及以上版本中,通过LDR_CNTRL=MAXDATA=0xN0000000@DSA启用,N的范围是0到D(AIX 5.2及以上)或1到A(AIX 5.1)。N值定义了可用作本机堆的分段数,且这些分段可以根据需要映射。 对于IBM Java运行时,通常...
标题"LDR_0_1_2_T_arduino_"与描述中的"ldr programe test 2 okkkkkkkkk"暗示了我们正在处理一个与Arduino相关的项目,该项目可能涉及光敏电阻(Light Dependent Resistor,简称LDR)的编程和测试。LDR是一种能够...
**光敏电阻(LDR)基础** 光敏电阻,又称为光依赖电阻(Light Dependent Resistor,简称LDR),是一种特殊类型的电阻器,其电阻值会随着光照强度的变化而变化。在没有光照的情况下,LDR的电阻非常高,通常达到兆欧...
【标题】"LDR_HomeHome_socket_" 涉及的知识点主要集中在智能家居系统和汽车应用上,利用光敏电阻(LDR)作为传感器,并通过socket通信技术进行数据传输和控制。LDR(Light Dependent Resistor)是一种常见的电子...
3. **ldr_con-SCHEMATIC1-Parametric.sim.cir** 和 **ldr_con-SCHEMATIC1-biaspoint.sim.cir**:这两个文件是电路仿真配置文件,可能包含了电路的SPICE(Simulation Program with Integrated Circuit Emphasis)模型...
易语言隐藏动态库源码,隐藏动态库,子程序1,LDR_DATA_TABLE_ENTRY,隐藏模块,取模块句柄_,DLL命令1
这可以通过在编译链接阶段使用`-blpdata`标志,或者通过设置`LDR_CNTRL`环境变量来实现。`LDR_CNTRL`环境变量可以设置为`Y`启用大内存页,`N`禁用,或者`M`强制使用大内存页。值得注意的是,环境变量的设置会覆盖可...
【标题】"Temp_IR_LDR_TASK:ATMEGA 32"是一个项目,它涉及到使用ATMEGA 32微控制器来实现温度监测、红外遥控和光敏电阻(LDR)控制的任务。这个项目可能是一个嵌入式系统设计,涵盖了硬件接口、传感器数据采集以及...
在图像处理领域,HDR(High Dynamic Range)与LDR(Low Dynamic Range)是两个关键概念。HDR技术主要用于表现更广阔的动态范围,即图像中最亮和最暗部分的对比度,而LDR图像则受限于其有限的亮度表示,无法完全捕捉...
10. LDR_CNTRL环境变量的介绍,这是影响AIX系统链接加载行为的环境变量之一。 11. 链接过程中常见的问题,以及解决问题的技巧和诀窍。 12. 实际的链接示例,这些示例对于理解文档中的理论知识和实际应用非常有帮助...
PEB_LDR_DATA包含了一个链表,这个链表包含了所有已加载模块的入口点,也就是`InLoadOrderModuleList`。我们可以遍历这个链表来获取所有模块的信息。 ```cpp lea eax, [eax + 0x0c] // 获取装载信息表 mov eax, ...
《深入理解Microsoft.NET Framework 4.0:基石与应用》 Microsoft .NET Framework 4.0,作为微软开发平台的核心组件,为软件开发者提供了一个强大的工具集和运行环境,用于构建、部署和运行各种跨平台应用程序和...
在压缩过程中,PECompact会生成一个新的加载器(Loader),例如`pec2ldr_default.dll`、`pec2ldr_no_rwx_mem.dll`和`pec2ldr_reduced.dll`等,这些加载器负责在程序启动时解压并执行压缩的代码。不同的加载器可能有...
PEB_DLL.zip打印exe运行时加载的所有dll模块地址以及模块名称PEB_DLL.zip打印exe运行时加载的所有dll模块地址以及模块名称PEB_DLL.zip打印exe... // 获取当前模块的LDR_DATA_TABLE_ENTRY结构 PLDR_DATA_TABLE_ENTRY
2. 获取PEB_LDR_DATA:然后,通过`mov eax, [eax + 0ch]`取得PEB_LDR_DATA结构体的地址。 3. 找到InInitializationOrderModuleList:接着,`mov esi, [eax + 1ch]`获取InInitializationOrderModuleList的地址,这是...