AIX系统Memory性能评估
AIX系统Memory性能评估
一, VMM的管理简介
1.1 空闲列表维护
1.2 文件占用内存的比率维护
1.3 vmstat命令显示内存中的数据页数
二, 使用vmstat确定内存的使用情况
2.1 faults故障
2.2 memory(内存)
2.3 page磁盘交换
三, svmon命令
3.1 memory段
3.2 pg space段
3.3 pin 段
3.4 inuse 段
4, ps命令显示当前运行的进程状态
5, 内存的调整
AIX系统Memory性能评估
一, VMM的管理简介
内存和交换空间(虚拟内存)一般都是用页面来进行分配和管理的. 在内存中存在两种类型的页面:计算页面(一般为可执行文件段的页面)和文件页面(存储的数据文件的页面). 当我们执行程序或者读入数据的时候, 内存中的页面就逐渐被占用. 当空闲的内存只剩下minfree的时候, vmm的调页进程就被唤醒, 通过调页算法, 将内存中的页面转移到交换空间中. 直到空闲内存达到maxfree, 才停止调页.
1.1 空闲列表维护
在这里, 我们涉及到两个参数:
1, minfree: 最小空闲页链表尺寸. 一旦低于该值, 系统调页进程启动偷页以填充空闲页链表, 保证有足够的内存页面. 偷页就是将不常用的页面替换出去.
2, maxfree: 最大空闲页链表尺寸. 一旦高于该值, 系统停止偷页.
一般情况下, minfree和maxfree通过下面的公式得到.
Maxfree=minmum(memory/128,128), minfree=maxfree-8
如果发现空闲列表不足, 可以用下面的方法增加.
在5.2以上的版本中可以通过vmo参数实现.
#vmo –o minfree = 1000 –o maxfree = 1008 –P #-P参数使得修改永久生效.
在AIX5.2之前的版本需要使用/usr/samples/kernel/vmtune命令
Vmtune –f 1000 –F 1008
1.2 文件占用内存的比率维护
数据文件占用的内存不会主动释放, 所以容易造成内存的文件页面过高的占用, 导致其他的应用内存使用紧张. 这里有两个参数跟这个占用相关.
# vmo -a |grep perm
maxperm = 392704
maxperm% = 20
minperm = 98175
minperm% = 5
strict_maxperm = 0
如上所示的两个参数解释如下:
1, minperm: 用户IO文件访问的最小缓冲页数;
2, maxperm: 用户io文件访问的最大缓冲页数;
这里主要与性能相关的是maxperm. Maxperm参数指定了文件页面可以占用内存的上限.调整参数值的方法如下.
Aix5.2以上的版本使用vmo命令
#vmo –o maxperm%=80 –o minperm%=20
在Aix5.2之前的版本一样要使用vmtune命令
#vmtune –p 20 –P 80 –P
1.3 vmstat命令显示内存中的数据页数
# vmstat -v |grep perm
5.0 minperm percentage
20.0 maxperm percentage
19.8 numperm percentage
系统调页的规则
1, 如果numperm>maxperm, 则只调出文件页面;
2, 如果numperm<minperm, 则同时调出文件页面和计算页面.
3, 如果minperm<numperm<maxperm, 则只调出文件页面, 除非新调入的文件页面大于计算页面的总和.
如果系统在向调页空间调出页面,可能使因为内存中的文件页数低于maxperm,从而也调出了部分的计算页面以达到maxfree的要求。在这种情况下,可以考虑把maxperm降低到低于numperm的某个值,从而阻止计算页面的调出。在5.2 ML4以后的版本中,为了防止计算页面被调出,可以采用另外一个方法,就是设置参数lru_file_repage=0。将该参数设为0,则告诉vmm在进行页面替换的时候,优先替换文件页面。
maxclient通常应该设置为一个小于或者等于maxperm的值。
增强JFS文件系统为它的缓冲区高速缓存使用客户机文件,这不受maxperm和minperm的影响。为了在限制增强JFS文件系统使用高速缓存,可以指定maxclient的值,避免在它进行页面替换的时候,替换其他类型的页。
二, 使用vmstat确定内存的使用情况
该命令可迅速提供关于各种系统资源和与之相关的性能问题的简要信息.
作为一个cpu监视器, vmstat命令优于iostat命令, 因为vmstat命令是滚动的, 使得它的每一行报告的输出更容易扫描. 并且如果有很多磁盘链接到系统中, 由此所涉及到的开销更少.
# vmstat 2
System configuration: lcpu=8 mem=8192MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 1596212 186517 0 0 0 0 0 0 157 2242 757 5 0 95 0
1 0 1602824 179905 0 0 0 0 0 0 276 8731 986 23 1 76 0
1 0 1609397 173332 0 0 0 0 0 0 298 5696 1118 27 1 72 0
1 0 1609407 173322 0 0 0 0 0 0 276 5630 1046 23 1 77 0
1 0 1609593 173136 0 0 0 0 0 0 1209 10754 3699 10 3 87 0
1 0 1609630 173099 0 0 0 0 0 0 637 8595 2061 26 1 72 0
要检查内存是否是瓶颈, 考虑vmstat报告中的memory列, pages列以及faults列
2.1 faults故障
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 1596212 186517 0 0 0 0 0 0 157 2242 757 5 0 95 0
1 0 1602824 179905 0 0 0 0 0 0 276 8731 986 23 1 76 0
2.2 memory(内存)
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 1596212 186517 0 0 0 0 0 0 157 2242 757 5 0 95 0
1 0 1602824 179905 0 0 0 0 0 0 276 8731 986 23 1 76 0
1 0 1609397 173332 0 0 0 0 0 0 298 5696 1118 27 1 72 0
2.3 page磁盘交换
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 1596212 186517 0 0 0 0 0 0 157 2242 757 5 0 95 0
1 0 1602824 179905 0 0 0 0 0 0 276 8731 986 23 1 76 0
1 0 1609397 173332 0 0 0 0 0 0 298 5696 1118 27 1 72 0
Pi: 从磁盘交换到内存的交换页(调页空间)数量, 4KB/页. 当进程访问一个交换页时就产生一个缺页故障.
Po: 从内存交换到磁盘的交换页数量, 4KB/页. 如果写入的交换页在交换区间内不存在或者已经做了修改, 则写入交换区间.如果不被再次访问, 则会留在调度空间中直到进程终止或者放弃空间.
Sr: 为了释放页面扫描的页数. Sr值如果比fr值高很多, 说明替换算法要查找可疑替换的页面越困难.
Cy: 每秒页面替换代码扫描了PFT多少次, 因为增加空闲列表达到maxfree值, 不一定需要完全扫描PFT表, 就是说这个值一般会小于1, 而所有vmstat输出都为整数, 所以cy通常为0.
三, svmon命令
memory 2097152 2007242 89910 488437 1598949
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1934298 4268 434309 1526005
memory 2097152 2007238 89914 488439 1598945
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1934294 4268 434311 1526001
3.1 memory段
l Inuse(正在使用): 物理内存中正在使用的内存页面数. 包含活动进程和已经终止的持久文件页面.
l Pin(固定内存): 锁定在内存中的页面数量(锁定的意思就是不能被替换出去)
3.2 pg space段
Inuse(): 已经分配页的总数, 也就是已经使用的调页空间页数
3.3 pin 段
3.4 inuse 段
4, ps命令显示当前运行的进程状态
# ps gv | sort +6b -nr |head -10
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND
561232 - A 30:59 0 9248 84184 xx 50614 74936 0.0 1.0 ora_pmon
454728 - A 0:14 0 8900 83836 xx 50614 74936 0.0 1.0 ora_s000
729338 - A 3:12 0 8840 83776 xx 50614 74936 2.0 1.0 oracleSI
581808 - A 1710:17 6 8528 83464 xx 50614 74936 0.1 1.0 ora_lms0
942332 - A 2:24 7 8500 83436 xx 50614 74936 0.0 1.0 ora_arc0
868444 - A 1:06 39 8496 83432 xx 50614 74936 0.0 1.0 ora_arc1
442494 - A 1715:12 9 8372 83308 xx 50614 74936 0.1 1.0 ora_lms1
647186 - A 98:48 12 7912 82848 xx 50614 74936 0.0 1.0 ora_lmd0
725148 - A 5:09 0 7460 82396 xx 50614 74936 1.8 1.0 oracleSI
573582 - A 143:00 0 7068 82004 xx 50614 74936 0.0 1.0 ora_lmon
例如我们查看PID = 487432的进程, 可以使用下面的方法.
SQL*Plus: Release 10.2.0.3.0 - Production on Tue Jul 14 17:24:42 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Oracle pid: 12, Unix process pid: 487432, image: oracle@i2db (MMNL)
SQL> oradebug event 10046 trace name context forever,level 8
/oracle/admin/arpdb/bdump/arpdb_mmnl_487432.trc
SQL> oradebug event 10046 trace name context off
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
$ tkprof /oracle/admin/arpdb/bdump/arpdb_mmnl_487432.trc
TKPROF: Release 10.2.0.3.0 - Production on Tue Jul 14 17:31:29 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
5, 内存的调整
计费数据库数据库响应变慢,内存16G,裸设备,却存在很多的PI,PO情况。
minperm% = 20, maxperm% = 80, maxclient% = 80
说明:以上三个参数为系统缺省配置,其表示,使用文件系统时,最多可使用80% * 16G=10.8G,用于缓存所访问的文件。
将maxperm% = 30 ,maxclient% = 30
/usr/samples/kernel/vmtune –p 20 –P 30
/usr/samples/kernel/vmtune –t 30
AIX系统Memory性能评估相关推荐
- AIX系统CPU性能评估-1
作者:Peak Wong出处:IT专家网2008-05-08 17:21 本文对cpu性能的命令作了详细介绍,并给出了对于系统cpu监控的建议. 1.vmstat 使用vmstat来进行性能评估,该命 ...
- 系统性能评价---性能评估
性能评估 性能评估是对一个系统进行各项检测,并形成一份直观的文档,因此性能评估是通过各项测试来完成的.评估的一个目的是为性能的优化提供参考,而性能优化涉及的面很广,也很复杂,而且永无止境.对于不同的应 ...
- Linux服务器性能评估与优化--转
http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø CPU Ø 内存 Ø 磁盘I/ ...
- Linux服务器性能评估
一.影响Linux服务器性能的因素 1. 操作系统级 CPU内存磁盘I/O带宽网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU use ...
- 【转】Linux服务器性能评估与优化(一)
转自:https://blog.csdn.net/hguisu/article/details/39373311 1.前言简介 1.1.影响Linux服务器性能的因素 1. 操作系统级 性能调优是找出 ...
- Linux服务器性能评估与优化(一)
1.前言简介 一.影响Linux服务器性能的因素 1. 操作系统级 性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下内核的参数即可解决问题, 事实上情况并不是这样 ...
- AIX系统CPU监控与评估
AIX系统CPU监控与评估 一, VMSTAT命令(CPU) 1.1 cpu 1.2 kthr(内核等待) 1.3 faults故障 1.4 memory(内存) 1.5 page磁盘交换 二, io ...
- 服务器系统架构的评估,系统架构师:性能评估
2.5.4性能评估 性能评估是为了一个目的,按照一定的步骤,选用一定的度量项目,通过建模和实 验,对一个系统的性能进行各项检测,对测试结果作出解释,并形成一份文档的技术. 性能评估的一个目的是为性能的 ...
- 建立更好的性能评估系统步骤3,确定平台供应商
识别平台/供应商 (Identify the Platform / Vendor) If you are in the position of rolling out a new performanc ...
最新文章
- angularjs php上传文件,AngularJS 文件上传 的功能你了解的多少?几分钟就让你了解angularjs的文件上传...
- 中国无人车公司AutoX,打响加州RoboTaxi服务第一枪
- WinDbg !locks 不可用的问题
- eventfd和timerfd
- eclipse启动tomcat错误:A Java Exception has occurred(转)
- linux获取ip地址的接口,获取Linux上接口的IP地址
- undo_management设置与隐含参数*._offline_rollback_segments和*._corrupted_rollback_segments关系...
- android 动态生成直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...
- LINQ to Entities 比较日期
- 改 主机名 后 虚拟机 不能启动
- Glide图片框架使用详细介绍(一),kotlin从入门到进阶实战电子书
- JAVA的学习(在IDEA环境下)
- henauOJ055(猴子吃桃)
- 数字化转型:为何数字化?如何数字化转型?
- 算法(并查集--合并集合)
- 张浩java成绩大于98分_1028学习
- 用python画出二叉树_Python与二叉树定价建模,像奇异博士一样推演未来并做出正确的选择...
- zemax光学设计优化
- 天下布魔新手的6点游戏建议 教你快速入门的攻略
- 老男孩python006----- 磁盘分区与文件系统
热门文章
- t-SNE(t-distributed stochastic neighbor embedding)
- SpringBootSpring --- Redis 集成 Error creating bean with name 'enableRedisKeyspaceNotificationsIniti
- [PHP] 现代化PHP之路:composer的镜像站设置
- [PHP] 现代化PHP之路:composer的安装和升级
- centos6.6上安装beef
- 在ASP.NET MVC中加载部分视图的方法及差别
- 建立自己的git账户并保存资料的重要性
- 【miscellaneous】IP多播技术及其编程
- Python之路_Day13
- Android之webView入门