AIX 5L 上的共享库内存占用

AIX 5L 上的共享库内存占用

ID:40524412

大小:133.50 KB

页数:15页

时间:2019-08-04

AIX 5L 上的共享库内存占用_第1页
AIX 5L 上的共享库内存占用_第2页
AIX 5L 上的共享库内存占用_第3页
AIX 5L 上的共享库内存占用_第4页
AIX 5L 上的共享库内存占用_第5页
资源描述:

《AIX 5L 上的共享库内存占用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AIX5L上的共享库内存占用GeorgeCross(george.cross@excite.com),高级软件开发人员,BusinessObjectsAmericasGeorgeCross是BusinessObjectsAmericas的一名高级软件开发人员,他拥有在UNIX上使用C++开发服务器应用程序的经验。他拥有加拿大西蒙菲莎大学的计算机科学学士学位。简介: 了解IBM®AIX®上的共享库机制和内存占用情况。本文对于开发人员编写服务器代码或管理员管理生产AIX系统来说非常重要。本文为开发人员和管理员提供了分

2、析AIX上的服务器进程的内存需求所需的命令、技巧和知识。本文还有助于开发人员和管理员避免出现使用ps或topas等其他标准运行时分析工具时无法识别的资源短缺。本文是面向AIX系统管理员或本机应用程序开发人员。引言本文阐述32位AIX5L™(5.3)上共享库占用内存的方式,并演示下列命令:·ps·svmon·slibclean·procldd·procmap·genkld·genld本文讨论进程的虚拟地址空间和内核共享库段,以及如何查看它们和如何解释上述多种诊断实用工具的输出。本文还讨论如何诊断内核共享段完全占用的

3、情况,以及解决该问题的可能方法。在贯穿全文的示例中,我们碰巧使用了来自软件产品BusinessObjectsEnterpriseXir2®的进程。这种选择无关紧要,因为这些概念适用于在AIX5L上运行的所有进程。回页首回顾为了保持思维同步,让我们简单回顾一下32位体系结构。为了达到目标,我将采用最有用的“bc”命令行计算器。在32位处理器中,寄存器能够保存2^32大小的值,$bc2^324294967296obase=162^32100000000这是4GB的范围。这表示在系统中运行的程序能够访问0到2^32–1

4、范围内的任何函数或数据地址。$bc2^32-1FFFFFFFFobase=102^32-14294967295现在,如您所知,任何操作系统都可能同时运行数百个程序。即使其中每个系统都能访问4GB的内存范围,这并不表示它们各自拥有4GB的物理内存分配。这是不切实际的。实际上,操作系统在适量物理内存和文件系统中被指定为交换(或分页)空间的区域之间实现了非常复杂的代码和数据交换方案。而且,虽然每个进程能够访问4GB的内存空间,但其中大部分空间都不会被使用。因此,操作系统仅为每个特定进程加载或交换所需数量的代码和数据。图

5、1.虚拟内存的概念图该机制通常称为虚拟内存和虚拟地址空间。在可执行文件运行时,操作系统的虚拟内存管理器查看文件包含的代码和数据,并决定将其中哪些部分加载到内存或交换空间中,或从文件系统引用。同时,虚拟内存管理器建立一些结构以将物理位置映射到4GB范围内的虚拟位置。其中4GB范围表示进程的最大理论范围(有时包括用于表示它的VMM结构),被称为进程的虚拟地址空间。在AIX上,将4GB虚拟地址空间划分为16个256MB的段。这些段具有预定的功能,下面对其中一些段进行说明:·段0预留给内核相关数据。·段1预留给代码。·段

6、2预留给堆栈和动态内存分配。·段3预留给内存映射文件,即mmap。·段d预留给共享库代码。·段f预留给共享库数据。与之相比,HP-UX®将地址空间划分为4个象限(quadrants)。如果使用chatr命令并采用+q3penable和+q4penable选项进行指定,则象限3和象限4可用于共享库映射。回页首共享库加载到何处共享库本身是用于共享的。具体而言,二进制映像的只读部分(即代码,也称为“文本”)和只读数据(常量数据,以及可以写入时复制的数据)可以一次加载到物理内存中,然后将其多次映射到需要该数据的任何进程中

7、。为了演示此概念,请准备一台运行AIX的计算机,然后查看已加载的共享库:>su#genkldTextaddressSizeFiled1539fe01a011/usr/lib/libcurses.a[shr.o]d122f10036732/usr/lib/libptools.a[shr.o]d1266080297de/usr/lib/libtrace.a[shr.o]d020c0005f43/usr/lib/nls/loc/iconv/ISO8859-1_UCS-2d7545000161ff/usr/java14/

8、jre/bin/libnet.ad7531000135e2/usr/java14/jre/bin/libzip.a....[lotsmorelibs]....d12971083a99/opt/rational/clearcase/shlib/libatriastats_svr.a[atriastats_svr-shr.o]d1bfa1002bcdf/opt/rationa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。