没有合适的资源?快使用搜索试试~ 我知道了~
AIX和linux系统内存监控分析.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2021-11-04
18:06:36
上传
评论
收藏 38KB PDF 举报
温馨提示
试读
11页
AIX和linux系统内存监控分析.pdf
资源推荐
资源详情
资源评论
内存是 Unix/Linux 内核所管理的最为重要的资源之一, 内存管理是系统管理中
非常重要也是最复杂的的部分。 系统管理员需要掌握内存管理的基本工作原理以
及使用合适的工具与策略监控内存的工作状态。 本文将分别阐述 AIX 和 Linux
系统中所涉及到的内存监控的方法, 并对其中涉及到的内核内存管理的原理做初
步的说明。
AIX 内存管理与监控
内存管理概述
内存管理在不同的操作系统中会有不同的实现。 AIX 系统使用 VMM(Virtual
Memory Manager) 实现物理内存的管理, 处理应用程序的内存分配请求与内存回
收。
内存和交换空间一般都是通过页面来进行分配和管理, VMM 将所有的内存段划分
为若干个页面, Power4 芯片支持 4K,64K,和 16M 大小的虚拟内存页, Power5
芯片支持 4K,64K,16M,16G 大小的虚拟内存页,每个页面的缺省大小是 4KB。
虚拟内存页面越大, 对需要大内存块的应用程序可以起到优化作用, 主要是提高
TLB 的命中率。
当我们执行应用程序的时候, 内存中的页面会被逐渐的占用, 这里我们设计两个
重要的参数: Minfree( 最小空闲页面的大小 ) 和 Maxfree( 最大空闲页面的
大小 ) 。当空闲的内存达到 Minfree 大小的时候, VMM 的调页算法将被唤醒,
将内存中的页面转移到交换空间中, 知道空闲内存达到 Maxfree ,才停止调页。
上面主要是对 AIX 内存管理中所涉及到的的基本概念做了简单的介绍说明,对
于任何与内存相关的操作,了解这些概念都是非常必要的。
系统管理员在进行正确的优化或者问题发生之前, 必须首先监视系统, 使用合适
的工具捕获基准数据,并且知道如何进行分析工作。下面笔者将介绍 AIX 系统
所提供的工具来监控系统内存的使用情况。
内存调整命令
与其他的子系统相比, 内存调整更为困难, 但同时收到的效果往往更加显著, 特
别是在那些尚未对各种内存参数进行优化的运行环境中。系统管理员可以通过
vmo 命令动态的调整内存参数,进行内存性能优化方面的各种实践。
vmo
Vmo 命令用来管理虚拟内存可调试的参数。 例如如果我们发现空闲内存不足, 可
以使用下面的命令增加 Minfree 和 Maxfree 参数:
清单 1. 使用 vmo 命令调整空闲的虚拟内存最小和最大值
# vmo – o minfree=1024 – o maxfree=30070
Setting maxfree to 30070
Setting minfree to 1024
注: -p 参数能够使修改永久生效,而且立即生效,不需要重启,下次重启设置
仍然有效。例如 vmo -p – o minfree=1024 命令能够永久设置空闲的虚拟内存
值为 1024
一般情况下, minfree 和 maxfree 的设定值可以通过下面的公式计算得到:
maxfree=minnum(memory/128,128)
minfree=maxfree/8
-a 参数能够显示当前所有的内存参数设置,之后系统管理员可以对其中的任何
参数进行调整, 在此必须说明的是: 对内存参数的任何微小改动都有可能造成系
统运行的不稳定, 所以系统管理员做的任何修改, 都必须非常慎重并且对可能造
成的影响有所了解。 上文提到的两个关键参数 minfree 和 maxfree 也包含于
下面的列表中。
清单 2. vmo 命令所能调整的内存参数
# vmo -a
ams_loan_policy = n/a
force_relalias_lite = 0
kernel_heap_psize = 65536
lgpg_regions = 0
lgpg_size = 0
low_ps_handling = 1
maxfree = 30070
maxperm = 902102
maxpin = 845450
maxpin% = 80
memory_frames = 1048576
memplace_data = 2
memplace_mapped_file = 2
memplace_shm_anonymous = 2
memplace_shm_named = 2
memplace_stack = 2
memplace_text = 2
memplace_unmapped_file = 2
minfree = 1024
minperm = 30070
minperm% = 3
nokilluid = 0
npskill = 1024
npswarn = 4096
numpsblks = 131072
pinnable_frames = 868968
relalias_percentage = 0
scrub = 0
v_pinshm = 0
vmm_default_pspa = 0
wlm_memlimit_nonpg = 1
其中 maxperm, maxpin%, minperm, minpin% 值得我们特别的注意。 AIX 中, 文
件型内存一般占用系统内存很少的一部分,大部分的内存被用来做计算型内存,
其中一个主要的应用为 oracle SGA ,所使用的内存为 pinned memory. 我们通
常希望把 oracle SGA 保持在内存内, 同时需要将文件系统缓存比例控制到一定
范围内。 这时我们根据系统内存的大小,调整
maxpin%,maxperm,minpin%,minperm 的值。 minperm – 文件型内存最小值
minpin - 计算型内存最小值 minpin% - 计算型内存占总的系统内存百分比的最
小值 maxperm – 文件型内存最大值 maxpin - 计算型内存最大值 maxpin% -
计算型内存占总的系统内存百分比的最大值
计算型内存和文件型内存的调整需要遵循下面的一些简单原则:
1. 计算型内存和文件型内存所占系统内存百分比之和要小于 100%。
2. 计算型内存的设置要合理,留出足够的空间给操作系统。 原因在于操作
系统同样会占用一部分计算型内存, 系统资源紧张时, 操作系统会抢占应
用程序所占计算型内存,影响程序的正确运行。
3. 数据库服务器上,文件型内存不需要太多的空间。 通常我们会遇到的
paging space 占用率过高就有可能设置了过高的文件型内存。
进程空间内存监控命令
系统管理员有时需要对某个特定的进程进行跟踪调试, 这时就需要一些命令能够
动态的显示每个进程内存占用情况的实时信息。 ps 是我们经常使用到的能够解
决这方面问题的命令。 事实上, 这个命令的使用非常简单, 但是得到的数据非常
有效。
ps
几乎所有的 Unix/Linux 分发版都包含了这一工具, ps 提供的简洁而有效的信
息能够允许系统管理员快速地对性能问题进行故障排除, 不足之处就是其并不适
剩余10页未读,继续阅读
资源评论
筱筱笎琞
- 粉丝: 10
- 资源: 15万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功