彩运网网址-彩运网网上登录

AIX常用命令与参数调整

本文是 Unix/Linux 系统管理自动化系列中的一篇文章,主要介绍了内存管理所涉及的命令,并通过编写自动化脚本实现了内存管理与监控的自动化

UNIX中的netstat可用来判断网络缓存区急用的情况,例如netstat中关于queue的overflow信息。这些信息可表明TCP,UDP队列的相关状态。

内存是 Unix/Linux 内核所管理的最为重要的资源之一,内存管理是系统管理中非常重要也是最复杂的的部分。系统管理员需要掌握内存管理的基本工作原理以及使用合适的工具与策略监控内存的工作状态。 本文将分别阐述 AIX 和 Linux 系统中所涉及到的内存监控的方法,并对其中涉及到的内核内存管理的原理做初步的说明。

AIX提供了no命令来设置网络的相关内核配置。

AIX 内存管理与监控

在启动某个进程时,VMM需要为该进程分配虚拟内存空间,以存放进程的数据和结构。这时,VMM维护了一个未分配虚拟内存页帧的空闲列表,该列表用来处理系统中的进程缺页问题。

内存管理概述

AIX中,VMM的参数设置可以通过vmo命令得到

内存管理在不同的操作系统中会有不同的实现。AIX 系统使用 VMM(Virtual Memory Manager) 实现物理内存的管理,处理应用程序的内存分配请求与内存回收。

# vmo -a

内存和交换空间一般都是通过页面来进行分配和管理,VMM 将所有的内存段划分为若干个页面,Power4 芯片支持 4K,64K,和 16M 大小的虚拟内存页, Power5 芯片支持 4K,64K,16M,16G 大小的虚拟内存页,每个页面的缺省大小是 4KB。虚拟内存页面越大,对需要大内存块的应用程序可以起到优化作用,主要是提高 TLB 的命中率。

VMM会将内存段划分为两类:计算段(工作段)和文件段(持久段)。文件段使用文件内存,而计算段则使用计算性内存。对对数据库来说,数据库启动时会申请共享内存,这部分内存结构就是计算内存。

当我们执行应用程序的时候,内存中的页面会被逐渐的占用,这里我们设计两个重要的参数: Minfree( 最小空闲页面的大小 ) 和 Maxfree( 最大空闲页面的大小 )。当空闲的内存达到 Minfree 大小的时候, VMM 的调页算法将被唤醒,将内存中的页面转移到交换空间中, 知道空闲内存达到 Maxfree,才停止调页。

对于文件访问而言,由于文件在磁盘中拥在对应的存储位置,因此它会被保存在文件段内存中,直到这些页面转换或进程消失。即便发生了交换操作,我们还是希望将文件段分布到磁盘中,而不是计算段内存结构中。

上面主要是对 AIX 内存管理中所涉及到的的基本概念做了简单的介绍说明,对于任何与内存相关的操作,了解这些概念都是非常必要的。

大的数据缓存所使用的页帧链表将会非常庞大。为了使用AIX能够更有效地为应用系统分配数据缓存,并且完成有效的高度,可以设置大的内存页面结构来提高性能。

系统管理员在进行正确的优化或者问题发生之前,必须首先监视系统,使用合适的工具捕获基准数据,并且知道如何进行分析工作。下面笔者将介绍 AIX 系统所提供的工具来监控系统内存的使用情况。

默认AIX不分配任何内存到大页面物理内存上,但可以手工指定,可以支持4KB、64KB、16MB、16GB。

内存调整命令

vmo -r -o lgpg_size=16777216 -o lgpg_regions=256

与其他的子系统相比,内存调整更为困难,但同时收到的效果往往更加显著,特别是在那些尚未对各种内存参数进行优化的运行环境中。系统管理员可以通过 vmo 命令动态的调整内存参数,进行内存性能优化方面的各种实践。

分配了16MB的大内存页面池,指定了256个。、

vmo

如果要为共享内存使用大页面,还要将AIX的v_pinshm参数设置为1(默认为0),让VMM可以固安内存池中的页,以避发生页面交换。

Vmo 命令用来管理虚拟内存可调试的参数。例如如果我们发现空闲内存不足, 可以使用下面的命令增加 Minfree 和 Maxfree 参数:

# vmo -r -o maxpin%=50

清单 1. 使用 vmo 命令调整空闲的虚拟内存最小和最大值

# vmo -r -o v_pinshm=1

# vmo – o minfree=1024 – o maxfree=30070

设置完以后,应用系统、数据库就可以使用大内存池。如果是在Oracle系统中,可设定LOCK_SGA参数来使Oracle的共享内存“锁”在内存中,同时,在分配共享内存时请求较大的页面。

Setting maxfree to 30070

minperm和maxperm需要设定,这两个参数是VMM内存替换策略中的阈值。当文件页面占用实际内存的百分比低于minperm时,页面替换算法将同时替换文件和计算页面,而忽略重新分布的计算情况。当文件页面占用实际内存的百比高于maxperm时,页面替换算法仅替换文件页面。

Setting minfree to 1024

因此,这两个参数可以用来确定AIX系统倾向于使用计算性内存还是文件内存。

注:-p 参数能够使修改永久生效,而且立即生效,不需要重启,下次重启设置仍然有效。例如 vmo -p – o minfree=1024 命令能够永久设置空闲的虚拟内存值为 1024

设定空闲列表数

一般情况下,minfree 和 maxfree 的设定值可以通过下面的公式计算得到:

AIX中的minfree和maxfree两个参数,当AIX VMM空闲列表中的页面数量下降到minfree指定的值以下时,VMM将开始运行lru守护进程,转换最近尚未使用的页面。在空闲表增大到maxfree指定的数据目后,页面转换操作停止。默认为960和1088(4KB页面)。

maxfree=minnum(memory/128,128)

对于一个64位CPU的服务器来说,可以设置为8000(32)、8512(23MB)。

minfree=maxfree/8

# vmo -p -o maxfree=8512

-a 参数能够显示当前所有的内存参数设置,之后系统管理员可以对其中的任何参数进行调整,在此必须说明的是:对内存参数的任何微小改动都有可能造成系统运行的不稳定,所以系统管理员做的任何修改,都必须非常慎重并且对可能造成的影响有所了解。 上文提到的两个关键参数 minfree 和 maxfree 也包含于下面的列表中。

# vmo -p -o minfree=8000

清单 2. vmo 命令所能调整的内存参数

# mount -o cio /db

# vmo -a

/etc/filesystems

ams_loan_policy = n/a

options = cio,rw

force_relalias_lite = 0

图片 1

kernel_heap_psize = 65536

lgpg_regions = 0

lgpg_size = 0

本文由彩运网网址发布于网络安全,转载请注明出处:AIX常用命令与参数调整

相关阅读