优化AIX 7内存性能 第二部分 监视内存情况并分析结果【ps+sar+svmon +vmstat】

合集下载

浅议AIX操作系统下应用系统的维护与性能优化

浅议AIX操作系统下应用系统的维护与性能优化

浅议AIX操作系统下应用系统的维护与性能优化摘要:AIX操作系统作为一种高可靠、高性能的操作系统,被广泛应用于金融、电信、制造等行业的服务器系统上。

本文将针对在AIX操作系统下应用系统的维护与性能优化进行论述。

首先,介绍了AIX操作系统的特点以及应用程序在其中的调度方式,并探讨了应用程序在AIX操作系统下的常见问题。

然后,从操作系统级别、网络级别以及应用程序级别三个方面着手对AIX操作系统下应用系统的维护进行了深入阐述。

最后,针对AIX操作系统下应用系统的性能优化,提出了基于硬件、操作系统和应用程序三个方面的优化措施。

关键词:AIX操作系统、应用系统维护、性能优化、调度方式、优化措施正文:一、AIX操作系统的特点及应用程序的调度方式AIX操作系统是IBM公司推出的一种商业级别的UNIX操作系统。

它具有高可靠性、高性能、高伸缩性、高安全性等特点,被广泛应用于金融、电信、制造等行业的服务器系统上。

在AIX操作系统下,应用程序的调度方式是通过进程、线程进行的。

进程是AIX操作系统中的一种资源分配单位,而线程是进程中最小的调度单位。

应用程序启动后,操作系统会为其分配进程和线程资源,并通过在进程和线程之间的切换,协调应用程序的运行。

在AIX操作系统下,应用程序存在着一些常见问题,如进程、线程崩溃、进程池资源泄露以及线程饥饿等。

这些问题通常是由于操作系统或应用程序自身的问题引起的,因此,对于AIX操作系统下的应用系统,维护和优化至关重要。

二、AIX操作系统下应用系统的维护(一)操作系统级别的维护在AIX操作系统下,进行操作系统级别的维护是确保应用系统稳定、高效运行的关键。

操作系统级别的维护主要包括以下方面:1、定期扫描安全漏洞,防范恶意攻击;2、定期进行操作系统补丁更新,确保操作系统处于最新状态;3、定期清理系统日志和垃圾文件,释放系统资源;4、定期备份系统数据和应用程序,确保数据安全;5、定期进行系统性能分析和优化,寻找存在的性能瓶颈并及时解决。

AIX内存性能优化剖析

AIX内存性能优化剖析

AIX 5L 内存性能优化第1 部分: AIX Version 5.3 中内存的概述以及内存参数的优化本系列的三篇文章深入研究内存优化中的参数优化,重点关注于内存性能优化方面的各种挑战和各种最佳实践,并且还介绍了AIX® Version 5.3 中的一些改进。

尽管与中央处理单元(CPU) 优化相比,实现内存优化可能更加困难,但它同样是非常重要的。

在AIX 服务器中,与任何其他子系统相比,您可以对内存进行更多的优化工作。

更改系统中的某些内存参数,可以极大地提高性能,特别是在尚未对这些参数进行优化的运行环境中。

本系列文章的第1 部分提供了AIX 中内存的概述,包括对虚拟内存和虚拟内存管理器(VMM) 的介绍。

引言作为一名系统管理员,您应该已经对有关内存的基本知识非常熟悉,如物理和虚拟内存之间的区别。

您可能还不是很清楚AIX® 中的虚拟内存管理器(VMM) 是如何工作的、以及它与性能优化之间的关系如何。

而且,在最近几年中,有一些优化命令和参数发生了变化,如果您较长时间没有使用AIX 了,那么您可能会发现,您从前所熟悉的一些命令,现在甚至根本无法继续使用了。

本文详细地介绍了AIX VMM,以及优化VMM 所需使用的各种优化命令。

我将介绍一些监视工具,您可以使用这些工具来优化您的系统,本文还对一些比较重要的AIX Version 5.3 内存管理增强功能进行概述。

实现这些增强功能,即将其应用到您的系统环境,可以在您的系统中优化内存性能。

尽管您可能会发现,与其他的子系统相比,内存的优化更为困难一些,但是收到的效果往往更加显著。

可能还有一些应该在您的系统中进行设置的特定的优化建议,这取决于您所运行的系统的类型。

为了帮助证实这些内容,我使用了一个特定的示例,并介绍了进行这些参数设置的一些最佳实践。

在某些情况下,动态地优化一个或两个参数,可能会使得您的系统的整体性能完全不同。

无论您需要对哪个子系统进行优化,有一个方面是相同的,即优化系统—您始终应该将其看作一个正在进行的进程。

优化AIX 7磁盘性能 第二部分 监视逻辑卷并分析结果

优化AIX 7磁盘性能 第二部分 监视逻辑卷并分析结果

誉天 Cisco / Linux 认证社区/BBS优化 AIX 7 磁盘性能 第二部分 监视逻辑卷并分析结果关于本系列 本系列共有三篇文章(见 参考资料),介绍 AIX® 磁盘和 I/O 子系统,重点关注在优 化磁盘 I/O 性能时遇到的各种挑战。

尽管磁盘调优很可能没有 CPU 或者内存优化那么 激动人心,但它是优化服务器性能的关键方面。

事实上,部分原因是因为磁盘 I/O 是 最薄弱的子系统环节,与任何其他子系统相比,可以通过更多的措施提高磁盘 I/O 性 能。

简介 与其他子系统的调优不同, 实际上在构建系统的架构设计阶段就应该开始进行磁盘 I/O 调优。

尽管有一些与虚拟内存参数相当的 I/O 调优参数(ioo 和 lvmo),但是提高磁 盘 I/O 性能的最佳方法是正确地配置系统,而不是优化相关的参数。

与虚拟内存优化 不同,在创建了逻辑卷并开始运行之后,要更改它们的组织方式会很复杂,所以通常只 有一次机会正确地完成这项任务。

在本文中,我们将讨论配置逻辑卷的方式,以及应该 将它们布置于物理磁盘上的什么地方。

还要介绍用于监视逻辑卷的工具。

其中大多数工 具并不适合于长期趋势研究并且是 AIX 特有的工具,它们可以帮助了解配置逻辑卷的 方式,以及是否针对环境对它们进行了优化。

在 AIX 7 中,主要工具集和可调参数没什么变动,但是有必要重新研究这些功能,以 便确保系统能够提供最好的信息和性能。

本系列的第 1 部分(见 参考资料)介绍了 iostat,但仅介绍了使用该工具查看异步 I/O 服务器。

第 2 部分使用 iostat 来监视磁盘,介绍它能够完成哪些工作以帮助您 并不是专门为 AIX 设 快速地确定 I/O 瓶颈。

尽管 iostat 是通用的 UNIX® 实用工具, 计的, 但它对于快速地确定系统的运行情况是非常有用的。

AIX 特有的逻辑卷命令可以 帮助更深入地研究逻辑卷,帮助您真正地分析实际问题(如果存在任何问题的话)。

AIX性能监控

AIX性能监控

监控工具:AIX操作系统提供了丰富的命令工具来检查系统性能状态。

其中最主要的命令式:topas,提供了一个实时的系统主要硬件资源运行专题的监控界面,判断系统是否有性能问题。

检查CPU状态的命令:sar, vmstat, tprof。

检查内存状态的命令有:vmstat, lsps, ipcs, ps, svmon。

检查存储状态的命令有:iostat ,df, dd检查网络状态的命令有:netstattopas:监控界面左上角观察到服务器名,当前系统时间,和监控数据刷新时间间隔。

CPU性能状态数据Kernel和User部分表示CPU资源用于Kernel和用户应用计算,是CPU繁忙部分。

“Kernel:操作系统内核(进程间的通信(消息传递),存储器管理。

)”Wait:等待存储或者网络资源,如果此部分持续较高表示系统存储或网络资源存在瓶颈。

Idle:数据接近0时表示系统很繁忙。

反应CPU系统资源不足。

(需要进一步分析CPU资源使用情况)。

Runqueue【音标】:[rʌn’kju:]表示等待CPU资源的线程数,持续大于0表示CPU 资源不足。

Waitqueue 表示已经获得CPU资源但缺少I/O资源的线程数。

当持续大于0时表示I/O资源不足,通常是由于存储带宽和网络带宽不足引起的。

通常在一个没有性能问题的系统中,Runqueue和Waitqueue的值通常为0。

偶尔不为0不代表系统存在性能问题。

内存状态数据::PAGING部分的PgspINhePgspOut持续不为0,表示系统不停的再做换页操作。

系统物理内存资源不足的重要标志。

MEMORY部分可以获得系统物理内存总数,物理内存资源紧张时,%Comp 和%Noncomp数值接近100%。

使用100%—%Comp—%Noncomp获得空闲物理内存。

PAGING SPACE部分可以获得系统配置的全部换页空间的容量。

当前已经使用的换页空间的比例,在物流内存充裕的系统上,换页空间的使用比例接近于0。

AIX小型机系统监视工具参数详解和调整内存的使用综述

AIX小型机系统监视工具参数详解和调整内存的使用综述

1、监视和调整内存的使用一个系统的内存通常会几乎被占满。

即使当前运行的程序没有消耗掉所有的内存,操作系统也会将较早运行的程序和它们所使用的文件的文本页面驻留在内存。

这样的驻留并没有任何的开销,因为内存无论如何都不会去使用这一段内存。

在许多情况下,程序或者文件将会被再次用到,这样可以减少磁盘的输入输出。

检测有多少内存正被使用一些测试性能的工具提供了内存使用的报告。

我们最感兴趣的报告是由 vmstat ,ps ,和svmon 命令提供的。

vmstat 命令(内存)vmstat命令概括了系统中所有进程所使用的活动的虚拟内存,同时还有空闲列表上实际内存页的数量。

活动的虚拟内存被定义为虚拟内存中实际可以得到的工作的段页的数量(参考页面后分配中的定义)。

这个数字可能大于机器中实际页面的帧,因为一些动态虚拟内存也可能写到字分页空间以外去。

在检测内存是否短缺或者是否有需要调优内存,一系列时间间隔里输入vmstat命令,在结果报告中检验 pi 和 po 栏。

这两栏表明了每秒页面调入的页数和每秒调出的页数。

如果该值经常为非零值,说明可能存在内存瓶颈。

偶尔出现的非零值不用在意因为页面调度是虚拟内存的主要原理。

# vmstat 2 10kthr memory page faults cpu----- ----------- ------------------------ ------------ -----------r b avm fre re pi po fr sr cy in sy cs us sy id wa1 3 113726 124 0 14 6 151 600 0 521 5533 816 23 13 7 570 3 113643 346 0 2 14 208 690 0 585 2201 866 16 9 2 730 3 113659 135 0 2 2 108 323 0 516 1563 797 25 7 2 660 2 113661 122 0 3 2 120 375 0 527 1622 871 13 7 2 790 3 113662 128 0 10 3 134 432 0 644 1434 948 22 7 4 671 5 113858 238 0 35 1 146 422 0 599 5103 903 40 16 0 440 3 113969 127 0 5 10 153 529 0 565 2006 823 19 8 3 700 3 113983 125 0 33 5 153 424 0 559 2165 921 25 8 4 630 3 113682 121 0 20 9 154 470 0 608 1569 1007 15 8 0 770 4 113701 124 0 3 29 228 635 0 674 1730 1086 18 9 0 73注意到输出列队里的高输入输出等待,也注意到阻塞队列里线程的数量。

操作系统AIX性能监控

操作系统AIX性能监控

1、cpu进入topas界面后,输入两个c,可以查看cpu状态----user% 用户cpu利用率----kern% 系统cpu利用率两者相加不应超过95%vmstat 1 6查询每个cpu的利用率用户cpu(us列),系统cpu(sy列),cpu空闲(id列),cpu等待(wa 列)其中用户cpu(us列)+ 系统cpu(sy列)不应超过95%2、I/O监控sar -d 1 2 (每秒采样一次,连续2次)----%busy 磁盘使用率----avwait 等待时间磁盘使用率不应超过80%,iostat 1 (每秒显示一次结果)iostat -d hdisk1 1 (显示具体某个磁盘)%tm_act 磁盘的带宽利用率不应超过70%3、内存监控svmon -G----size列与virtual列,看是否存在不足vmstat 1 4----fre表示空闲物理内存页面数----po列系统存在的页换出----wa表示系统I/O等待时间4、网络监控netstat -ssegments retransmited / segments send out超过10%,说明有严重的吞吐问题5、监控相关日志文件tail -f XXXX6、db2监控--建立一个针对模式名‘hbyc’的事件监视器db2 "create event monitor myem for statements where auth_id='hbdc' write to table "db2 "create event monitor myem for statements where auth_id='hbdc' write to file '/home/eventmonitor' "--解析当前文件db2evmon -path '/home/eventmonitor'--查看创建的表(aix)$ db2 list tables | grep MYEM--查看创建的表(windows)db2 list tables | find /i "myem"--打开监视器db2 set event monitor myem state 1--关闭监视器db2 set event monitor myem state 0--查询最耗费cpu的sql语句db2 "select STMT_TEXT from STMT_MYEM order bySYSTEM_CPU_TIME+USER_CPU_TIME FETCH FIRST 2 ROWS ONLY"。

AIX操作系统性能分析报告

AIX操作系统性能分析报告

AIX操作系统性能分析报告1)CPU$ vmstat 5 5System configuration: lcpu=8 mem=7744MBkthr memory page faults cpu----- ----------- ------------------------ ------------ ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa1 5 1943309 1817 0 341 109 2018 6836 0 1246 3524 5000 34 3 32 311 8 1943312 861 0 23 812 1975 2909 0 1227 776 4348 13 3 45 392 6 1945483 1855 0 78 737 1189 1880 0 639 1287 2119 30 1 39 302 5 1949024 1921 0 307 73 1002 2973 0 511 3190 1719 57 1 20 224 9 1959284 2146 0 400 35 2745 21198 0 824 21885 30 45 62 2 12 24从上面结果看出,CPU的idle在12-45之间,wait在22-39之间,表示目前处于空闲状态的CPU基本属于正常;但是处于等待状态的CPU较多,即有较多的进程在等待获取资源后才能进入CPU运行。

2)内存$ vmstat 5 5System configuration: lcpu=8 mem=7744MBkthr memory page faults cpu----- ----------- ------------------------ ------------ ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa1 5 1943309 1817 0 341 109 2018 6836 0 1246 3524 5000 34 3 32 311 8 1943312 861 0 23 812 1975 2909 0 1227 776 4348 13 3 45 392 6 1945483 1855 0 78 737 1189 1880 0 639 1287 2119 30 1 39 302 5 1949024 1921 0 307 73 1002 2973 0 511 3190 1719 57 1 20 224 9 1959284 2146 0 400 35 2745 21198 0 824 21885 30 45 62 2 12 24从上面看出,avm(激活虚拟内存页)为1.95M*4K=7.8G;fre(物理内存中的空闲页)为1.9k*4k=7.6M,而物理内存有8G,表示物理内存已经被充分利用。

AIX主机性能评估要点

AIX主机性能评估要点

AIX主机性能评估这一篇可以作为我前面发的statspack解读的姊妹篇,再进一步说明如何来观察与数据库紧密联系的主机的性能。

对于AIX主机的性能评估,主要从下面的4个方面来逐一介绍:CPU、MEMORY、IO系统和网络这4个方面来描述。

AIX 5.3主机性能评估 2一、CPU性能评估 21、vmstat 22、sar 33、iostat 54、tprof 65、ps 86、解决CPU占用的惩罚机制nice和renice 97、小结 10二、Memory性能评估 111、VMM的管理简介 112、使用vmstat确定内存的使用情况 143、svmon命令 144、内存的调整 15三、磁盘的IO性能评估 161、iostat查看 172、sar –d查看 203、使用lslv –l lvname来评估逻辑卷的碎片情况 214、lslv –p 评估物理布局 225、使用 vmstat 命令评估调页空间的 IO 236、使用filemon命令监控系统IO 247、监视磁盘 IO 的小结 268、案例 269、RAID10和RAID5的比较 28四、NETWORK性能评估 311、ping命令查看网络的连通性 312、netstat –i检查网络的接口 313、netstat –r检查主机的路由情况 324、netpmon 345、其他一些常用的命令 36五、补充:关于topas的使用说明 36六、主机日常检查脚本 39脚本中包括的内容包括:主机的cpu,memory,io,network检查;ha检查,主机告警日志;数据库表空间,告警日志,job等的检查。

更新:七、结合oracle的一个案例第一部分目录一、CPU性能评估 11、vmstat 12、sar 33、iostat 54、tprof 55、ps 76、解决CPU占用的惩罚机制nice和renice 97、小结 91、vmstat使用vmstat来进行性能评估,该命令可获得关于系统各种资源之间的相关性能的简要信息。

AIX 性能调优-内存、CPU篇

AIX 性能调优-内存、CPU篇

AIX 性能调优-内存、CPU篇sar -P ALL cpu使用情况sar -a 文件访问情况dirblk/s 定位文件时被目录访问守护进程读取的快(512b)的个数iget/s i节点查找系统进程被调用次数lookuppn/s 目录查找进程找到v节点,并获取路径名的次数sar -b buffer的活动情况,包括传输、访问、和命中率bread/s、bwrit/s 块IO操作的数量lread/s、lwrit/s 逻辑 IO请求的个数pread/s、pwrit/s 裸设备IO操作数量%rcache、%rwrit cache命中率,计算共式为:((lreads-breads)/lreads)*100sar -c 系统调用情况exec/s、fork/s 调用和执行系统调用总数sread/s、swrit/s read/writ 系统调用次数rchar/s、wchar/s 被read/writ系统调用的字符数量scall/s 系统调用总数sar -k 内核进程活动情况kexit/s 中断的内核进程数kproc-ov/s 由于进程数的限制无法创建内核进程的次数ksched/s 被作业分派的内核进程数sar -m 消息队列和信号灯活动情况msg/s IPC消息队列活动情况sema/s 信号灯活动情况sar -d 磁盘读写情况sar -q 队列统计信息run-sz 内核线程处于运行队列的平均数%runocc 最近时间段运行队列占用百分比swpq-sz 内核线程等待页面调度的平均数%swpocc 交换队列最近活动情况sar -r 页面调度信息cycle/s 每秒中页面置换次数fault/s 每秒中page fault次数slots 在页空间中空闲页数量odio/s 每秒中不使用页面空间的磁盘io数sar -v 进程、内核线程、i节点、和文件表的状态sar-w 上下文切换次数sar -y tty设备活动情况canch/s tty输入队列中规范的字符数mdmin/s tty modem 中断outch/s 输出队列字符数rawch/s 输入队列字符数revin/s tty接收中断xmtin/s tty传输中断如果CPU的使用率接近100%(usr+system),可以视为是CPU瓶颈。

AIX性能问题诊断及调优

AIX性能问题诊断及调优

在AIX日常运维中,性能问题一直是一个很重要的问题,为了让操作系统能正常平稳高效的运行,便需要一些武功秘籍来进行快速定准并解决问题,本次我们便来讨论一下我们可以用到的武功秘籍。

所谓性能问题,主要几种在CPU、内存、I/O三个大类别,因此我们分类进行讨论。

类别一:CPU检查系统的三把斧头一招便是topas,这个是最常用也是最有效的一招,通过topas的输出可以看到CPU的使用情况。

从topas的输出我们主要关注如下4个指标:那么判定系统忙不忙的一个指标为Idle%,正常情况下,Idle%的值如果低于10%,则这个系统的CPU就需要注意了,此时关注一下是User%高还是Kern%高,如果是User%高,则说明是应用程序占用CPU较多,反之则说明操作系统本身占用CPU较高。

(但是请注意:并不是所有Kern%高都是操作系统本身导致的,也有可能是应用程序调用了系统本身的函数,这样也会把这部分消耗算在Kern%头上)在拍完第一板斧后,我们继续向下分析,拍第二板斧trpof,这个可以理解为精简版的trace,一般情况下执行这个命令对系统负载影响不太大,因此可以用这个工具先粗略看一下相关的进程。

通过tprof可以看出占用CPU排名靠前的进程。

如果root cause还没有找到,那么便使出大招,收trace数据。

在收集trace 数据前请先注意以下原则:①收集trace数据会对当前系统的负载有影响,在CPU已经达到99%时,再收集trace有可能把操作系统搞夯。

②一定要等到问题重现时收集trace,由于trace产生的数据量巨大,因此要收集有效时间段的trace。

如果不确定问题什么时候重现,可以写个判断脚本,收集循环trace。

③用root用户进行trace收集④需要预估trace数据的大小,然后根据预估的空间,在操作系统上找一个空间较大的地方存放数据。

trace数据的大小可以用下列公式算出:预估数据大小=逻辑CPU的个数* 10MB(其中逻辑CPU的个数可以用vmstat | grep -i lcpu命令查看)在执行完上述收集命令后,会生成trace的raw文件。

Aix性能分析及优化

Aix性能分析及优化

aix性能分析一、分析CPU。

检查usr% + sys%是否大于90% 。

可使用Nmon,vmstat ,topas,sar命令,以nmon工具为例系统输入nmon命令,如下输入h 进入主菜单输入C (c = CPU by processor), 查看CPU运行状态如上图,这里我们可以清晰看到user% ,sys% 所占用的CPU资源。

上图为测试机,没有运行任何应用,状态良好。

如果CPU有IO wait ,说明内存或IO 存在瓶颈,下面内存分析部分,和IO分析部分会讲到。

Tips:如CPU资源占用较高,可以用topas命令(user% ,sys%也可以用该命令直接查看)查看CPU的进程,检查哪个进程占用CPU资源较高,分析是否合理,为业务所用。

然后得出结论然后再决定是否需要进行参数调试其它参数,扩充CPU等方案。

二、分析内存。

根据实际情况判断内存占用是否合理。

判断系统是否有计算页面调入现象,判断换页空间是否持续增高。

nmon主菜单输入m (m = Memory & Paging),查看内存运行状态在观察一段时间后,上图内存大小为7072MB (8G), 可以空间% Free 为78.2% 比较充裕。

Paging Space In 为0 ,PageSpace %used 为1.6% ,无持续增高现象。

检查是否有内存泄漏,使用命令svmon –P 进程ID ,记录“work process private”项对应的值。

间隔一会重复运行上面的命令,比较“work process private ” 的值是否明显增大,如有则可能有内存泄漏问题。

接下来找出对应的应用,进行更新或安装补丁解决。

如依旧无法解决,联系应用厂商咨询解决。

Tips:如内存占用较高,可以用svmon -Pns 命令详细查看占用内存资源较大、异常的进程,分析是否合理,是否需要扩充物理内存三、I O 分析。

a. 判断系统是否有I O wait ,如果有系统有可能有I O性能问题。

使用ps、vmstat、topas等通用工具观察AIX操作系统内存使用状况

使用ps、vmstat、topas等通用工具观察AIX操作系统内存使用状况

使用ps、vmstat、topas等通用工具观察AIX操作系统内存使用状况ps、vmstat、topas 在 AIX 操作系统中是任何用户都可以使用的,而sar 命令普通用户缺省情况下没有执行权限,需要超级用户事先授权,我发现大部分系统管理员没有把 sar 放开,建议 sar 至少应让数据库用户或者主要应用用户能够使用,sar 在 HP-UX 和Linux 系统中是任何用户都能使用的,sar 的历史数据搜集功能简单有效。

本文不会用到sar, 当然不是为了证明sar 是个废物,只是就地取材的需要,在普通用户下用不了 sar,但 ps、vmstat 和 topas 是一定能用的。

另外一定要提到的是svmon 命令,这是AIX 下要进行更详细的内存分析时用到的专用工具,一定要做个比较的话,Solaris 和 Linux 下有 pmap 命令。

svmon 在 AIX 5L 中只能在超级用户权限下执行,在 AIX 6 下由于引入了 RBAC(role-based access control)机制,对 svmon 执行权限可以进行授权,缺省情况下普通用户也能使用。

ps、vmstat、topas 和 svmon 的输出信息可以互相参照和应证。

好了,现在提一个问题,我如何知道我的4C(4个CPU)4G (4GB内存)、8C8G、8C16G、8C32G 等诸如此类配置的p系列系统内存是够用的,有没有一招鲜的方法就盯一个指标就知道内存够用,不是瓶颈?老实说,没有这么一个指标给你去用,但是厂家的销售和某些固执的技术人员会很坚定地跟你说,就看 free 值(vmstat 输出中一个字段),只要它大于1000 就行了,你问为什么?他不会给你解释,仿佛那是一个毋庸置疑的真理。

我想 free 值 1000 是多少啊,1000 页,每页 4KB, 自由内存只要有 4MB 就行了,现在什么执行程序不都得上10M, 那些象 awk、grep、sort、cut 之类小巧玲珑的程序除外。

优化AIX7内存性能第一部分内存概述和内存参数的调优(精)

优化AIX7内存性能第一部分内存概述和内存参数的调优(精)

优化AIX 7 内存性能第 1 部分内存概述和内存参数的调优简介作为系统管理员,您应该已经对内存的基本知识非常熟悉了,如物理内存和虚拟内存之间的区别。

您可能还不很清楚 AIX® 7 中的虚拟内存管理器(VMM是如何工作的,以及它与性能调优之间的关系如何。

在 AIX 7 中,还有必要考虑虚拟内存的影响以及在工作负载分区(WPAR中如何使用和应用它。

本文将介绍一些可以用来优化系统的监视工具,概述一些比较重要的 AIX 7 内存管理功能,包括虚拟内存管理器是如何工作的以及动态可变的页面大小的影响。

通过将这些增强功能的实现应用于系统环境,可以在系统中优化内存性能。

尽管您可能会发现,与其他子系统相比,内存的调优更为困难,但是收到的效果往往更加显著。

根据所运行的系统的类型,可能还有一些应该在系统中采用的特定的调优建议。

为了帮助说明这些内容,我将使用一个特定的示例并讨论设置这些参数的一些最佳实践。

在某些情况下,动态地调整一两个参数可能会使系统的总体性能产生显著的变化。

无论要对哪个子系统进行调优,有一个方面是相同的,即始终应该将系统调优看作一个正在进行的过程。

开始对系统进行监视的最佳时间是在首次将系统应用到生产环境中并正常运行时(而不是等到用户抱怨系统性能非常糟糕的时候。

必须在系统正常运行的时候建立系统运行状态的基准,这样在系统可能不正常时才能确认是否真的有问题。

另外,应该一次仅进行一项更改,应该在更改之后尽快捕捉并分析数据,以便判断更改的影响(如果有影响的话。

内存概述本节概述与 AIX 7 有关的内存知识。

我们将介绍 AIX 7 如何使用虚拟内存来寻址比系统物理内存更大的内存。

还将解释 VMM 的工作方式以及它如何处理各种请求。

任何有关内存和 AIX 7 的讨论都必须先介绍 VMM。

有时候,令 AIX 新手感到吃惊的是 VMM 处理系统的所有内存请求,而不仅仅是虚拟内存本身。

在访问 RAM 时,VMM 需要分配空间,即使是在系统中有足够的物理内存的情况下。

实施优化 AIX 内部存储

实施优化 AIX 内部存储

一些数学和物理属性会影响磁盘I/O、延迟和跨这5 个区域的访问。

由于角动量守恒,磁盘的外侧边缘具有比内侧边缘更快的旋转速度,这很像小孩在游乐场骑旋转木马一样,外侧的旋转速度要比中间快得多。

但是,由于数据的物理位置的限制,不是磁盘上的所有数据都写入到外侧边缘,所以对硬盘头的最快搜索应该在磁盘的中心区域,通常硬盘头最有可能通过这片区域。

对于我尝试修补的服务器,数据以非常混乱或随机的方式放置在磁盘上。

但是在整理数据之前,需要更多地考虑AIX 是如何管理LV 的。

回页首逻辑卷管理器考虑因素AIX 拥有一个名为逻辑卷管理器的原生工具,它可以处理PV、VG、LV 和文件系统之间的关系。

LVM 在物理媒介上创建逻辑结构来管理操作系统中的数据。

为了优化磁盘,LVM 还提供了一种自定义可用性、性能和冗余的方式。

LVM 用于加强优化的使用最广泛的两个功能是镜像和条带化(Striping)。

LVM 允许您使用最多 3 个数据副本来镜像LV。

在这里,一个LP 可指向一个或多个PP。

因此,如果发生硬盘故障,数据会在其他物理设备上得到保护。

在专门使用内部存储的较小型系统中,需要对所有数据进行镜像备份,以预防计划外的宕机,这非常重要。

条带化将数据放在多个硬盘上,所以会同时在许多磁盘上发生多次读取和写入操作。

要启用条带化,可更改每个LV 的物理卷间分配策略属性。

通过将策略设置为最小值(默认值),会得到更高的可靠性,因为没有磁盘故障会影响到LV。

通过将策略设置为最大值,LVM 会将数据存储在VG 中最大数量的磁盘中,最大限度地提高一次可能发生的I/O 操作数量。

对于内部磁盘的优化,必须控制性能与冗余之间的平衡。

在较小的系统中,通常没有足够的空间来执行大规模的条带化分布,更不用说通过镜像实现具有冗余的条带化了。

在具有大量内部硬盘的较大系统中,条带化和镜像可显著提升性能,最大限度地减少I/O 等待时间。

回页首优化内部磁盘通过将AIX 硬盘物理结构的这些概念与LVM 在磁盘上运用逻辑结构的方式相结合,我得出了一些有助于优化内部磁盘的准则:让LV 尽可能保持连续。

AIX和linux系统内存监控分析

AIX和linux系统内存监控分析

内存是 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 系统所提供的工具来监控系统内存的使用情况。

内存调整命令与其他的子系统相比,内存调整更为困难,但同时收到的效果往往更加显著,特别是在那些尚未对各种内存参数进行优化的运行环境中。

AIX操作系统关键性能指标监控

AIX操作系统关键性能指标监控

对于一个满负荷运行的系统,需要定时检查机器的运行状态,及时了解系统的性能,避免由于机器过负荷的故障。

主要的检查项:CPU、内存、磁盘I/O。

观察主要使用的iostat和vmstat等命令观察。

如图1所示,主要对AIX系统性能进行在线判断的相关命令,其中常用的命令如下的vmstat、iostat、sar、topas、smvon 等,主要介绍vmstat、iostat、sar三个命令。

1 磁盘I/O 监控Iostat可以用来查看系统的 I/O的输入输出情况,在这里主要查看阵列上的硬盘的每秒读写量,同时估算磁盘阵列读写速度。

iostat命令显示结果,如图2所示。

参数说明:● TTY的I/O状态-tin:每秒从tty那里读取的字符数-tout:每秒写到tty那里的字符数其中tty设备包括真实(real)和虚拟 (pseudo)的tty● CPU的使用状态图1 AIX系统性能在线判断的相关命令图2 iostat命令显示结果-% user,表示平均用户占用时间-% sys,表示系统花费CPU时间-% idle,表示CPU空闲时间-% iowait,表示CPU等待I/O所花费时间如果%idle数值都很高而且%iowait数值也很高,大于25,这个说明系统存在I/O或者硬盘瓶颈。

注意:出现瞬间高的值是可能的,比如系统写CDR话单文件的时候。

高数值的%iowait有可能下面几个原因:(1)内存不够而引起频繁的swap空间的数据交换,导致数据存取存在交换空间的 I/O 瓶颈;(2)硬盘上面数据不合理的分布;(3)数据的fragment不合理。

● 硬盘使用状态-% tm_ a c t :表示某个硬盘处于active状态的百分比-tps:表示每秒某个硬盘有多少个数据传输次数-Kb_readKb_wrtn:分别显示从开机到运行iostat这个命令这段时间内对硬盘的read 和write的总数据量,单位kb。

2 内存使用情况监控VMSTAT由于AIX操作系统的内存管理机制与其它UNIX内存管理机制不同,因此其内存分配机制也不一样,在VMSTAT中看到的FREE MEM值并不是真正内存的FREE值。

AIX 环境下性能分析常用命令

AIX 环境下性能分析常用命令
AIX 环境下性能分析常用命令
进程/线程性能分析
查看进程/线程 status的常用命令有: ps,pstat,topas,emstat/alstat
Monitor 进程/线程 的常用命令有: svmon,truss,kdb,dbx,gprof,fuser,pቤተ መጻሕፍቲ ባይዱof
Monitor 网络的常用命令有: netpmon,tcpdump
网络 Trace level的常用命令有:iptrace,ipreport,trace,trcrpt
网络 Tuning 常用命令有:no,chdev,ifconfig
IO性能分析
查看I/O status的常用命令有: vmstat,topas,iostat,lvmstat,lsps,lsattr/lsdev,lspv/lsvg/lslv
Monitor内存的常用命令有:svmon,filemon
内存Trace level的常用命令有:trace,trcrpt
内存Tuning 常用命令有:vmo,rmss,fdpr,chps/mkps
CPU性能分析
查看CPU的status常用命令有:vmstat,topas,iostat,ps,mpstat,lparstat,sar,time/timex,emstat/alstat
Monitor I/O的常用命令有:fileplace,filemon
I/O Trace level的常用命令有:trace,trcrpt
I/O Tuning 常用命令有:ioo,lvmo,chdev,migratepv,chlv,reorgvg
内存性能分析
查看内存status的常用命令有:vmstat,topas,ps,lsps,ipcs

AIX-动态CPU内存调整手册

AIX-动态CPU内存调整手册

AIX-动态CPU内存调整手册动态CPU内存调整步骤通过IE登录HMC管理界面,用户名hscroot/s*****9(或a**123) 点击系统管理->服务器->选择需求表中的服务器:(注:超时时间(分钟)建议设置为内存修改量(G)的两倍)按照需求列表修改顺序动态修改CPU内存CPU修改方法:在主机前的方框中点勾,点击主机右侧的双箭头,点选动态逻辑分区->处理器->添加或除去,点击添加或除去后,如下图所示,已分配的处理器中,将数值修改为修改后CPU的值,点击确定。

若CPU调整时效为永久在主机前的方框中点勾,点击主机右侧的双箭头,点选配置->管理概要文件->点击概要文件(例如:主机名_profile),选择处理器,将期望处理器单元的数量修改为修改后CPU,并按照如下标准调整最大处理器单元数量:“cpu_max”若lpar为某系统的主备机,CPU最大值建议为主备lparCPU需求总和;其余情况为为期望值2倍。

点击确定。

内存修改方法:在主机前的方框中点勾,点击主机右侧的双箭头,点选动态逻辑分区->内存->添加或除去,点击添加或除去后,如下图所示,已分配的内存量中,将数值修改为修改后内存的值,在超时(分钟)中,将数值修改为表中内存超时时间,点击确定。

若内存调整时效为永久在主机前的方框中点勾,点击主机右侧的双箭头,点选配置->管理概要文件->点击概要文件(例如:主机名_profile),选择内存,将期望内存的数量修改为修改后内存,点击确定。

并按照如下标准调整最大内存数量:“mem_max”若lpar为某系统的主备机,内存最大值建议为主备lpar内存需求总和;其余情况为desire值2倍(desire<16G)或1.5倍(desire>=16G)。

点击确定。

登录主机按照如下标准调整PagingSpace大小。

内存小于等于4G的,PagingSpace调整为内存2倍,内存大于4G,PagingSpace 调整为内存相同大小修改后检查:登录LPAR,输入vmstat查看cpu内存是否符合预期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

优化AIX 7内存性能第二部分监视内存的使用情况并分析其结果【ps+sar+svmon +vmstat】简介内存子系统调优中最重要的部分并不涉及实际的调优工作。

在对系统进行调优之前,必须弄清楚主机系统的实际运行情况。

要做到这一点,AIX® 7 管理员必须知道应该使用何种工具以及如何对将要捕捉的数据进行分析。

再次重申前面的调优文章(见 参考资料)中所介绍的原则:必须先监视主机,才能对系统进行正确地调优,无论它是作为逻辑分区 (LPAR) 运行还是在自己的物理服务器上运行。

可以使用许多命令来捕捉和分析数据,所以需要了解这些命令,以及其中的哪些命令最适合想要进行的工作。

在捕捉了数据之后,需要对结果进行分析。

有些问题初看起来像是 CPU 的问题,但是经过分析之后,可以诊断出是内存或 I/O 问题,前提是使用合适的工具捕捉数据并知道如何进行分析工作。

只有在正确地完成了这些工作之后,才可以考虑对系统进行实际的更改。

如果医生不了解病史和目前的症状,就无法诊治疾病;同样,也需要在优化子系统之前对其进行诊断。

如果在出现 CPU 或者 I/O 瓶颈的情况下对内存子系统进行优化,这将是毫无帮助的,甚至可能会影响主机的正常运行。

本文将帮助您理解正确地进行诊断的重要性。

您将看到,性能调优远不只是实际的调优工作本身。

在您将要学习的工具中,有一些是通用的监视工具,所有版本的 UNIX® 都提供这些工具,另外一些工具是专门为 AIX 7 编写的。

必须获得基准数据;这是已知环境的关键数据,调优决策都以此作为基础。

不要等到用户开始向服务台抱怨糟糕的性能时,才开始监视系统。

应该在将服务器投入生产环境中后尽快捕捉数据。

如果做到了这一点,那么就可以积极主动地进行调优,其目标是在用户指出问题之前找到它。

如果不了解系统正常运行时的数据,那么就无法确定所查看的数据是否表示存在性能问题。

这是所有适当的性能调优方法的一部分;必须有效地捕捉数据,并正确地分析结果和趋势。

我们来仔细地讨论内存监视。

UNIX 通用的内存监视在本节中,我们概述在所有 UNIX 发行版中都可以使用的一些通用 UNIX 工具,包括 ps、sar 和 vmstat。

其中的大多数工具都允许快速地对性能问题进行故障排除,但是它们并不适用于进行历史趋势研究和分析。

大多数管理员不经常使用 ps 命令对可能存在的内存瓶颈进行故障排除。

但是,ps 可以提供关于系统运行情况的大量信息,因此有助于了解使用内存的情况。

ps 最常用的功能是查看系统中正在运行的进程(见 清单 1)。

清单 1. 使用 ps 查看系统中正在运行的进程# ps -ef | moreUID PID PPID C STIME TTY TIME CMDroot 1 0 0 Jul 30 - 0:01 /etc/initroot 1442014 3211408 0 Jul 30 - 0:00 /usr/sbin/snmpdroot 1638422 3211408 0 Jul 30 - 0:00 /usr/sbin/rsct/bin/IBM.DRMd pconsole 1769544 5570756 0 Jul 30 - 1:53 /usr/java5/bin/java -Xmx512m -Xms20m-Xscmx10m -Xshareclasses -Dfile.encoding=UTF-8 root 1900682 1 0 Jul 30 - 0:00 /usr/lib/errdemonroot 2031702 1 0 Jul 30 - 0:00 /usr/ccs/bin/shlap64root 2097252 1 0 Jul 30 - 1:20 /usr/sbin/syncd 60root 2162756 3211408 0 Jul 30 - 0:00 /usr/sbin/qdaemonroot 2556078 1 0 Jul 30 - 0:01/opt/ibm/director/cimom/bin/tier1slproot 2687168 1 0 Jul 30 - 0:25 [cimserve]root 2752744 3211408 0 Jul 30 - 0:00/opt/freeware/cimom/pegasus/bin/cimssysplatform_agentroot 2949134 3211408 0 Jul 30 - 0:00/opt/freeware/cimom/pegasus/bin/cimssyscimsysroot 3211408 1 0 Jul 30 - 0:00 /usr/sbin/srcmstrroot 3408036 3211408 0 Jul 30 - 0:00 /usr/sbin/sshdroot 3473482 1 0 Jul 30 - 1:14 /usr/bin/topasrec -L -s 300 -R 1 -r 6-o /etc/perf/daily/-ypersistent=1 -Otype=biroot 3539136 1 0 Jul 30 - 0:06 bin/nonstop_aix @config/ nonstop.propertiesroot 3670254 3211408 0 Jul 30 - 3:53 /usr/sbin/rsct/bin/rmcd -a IBM.LPCommands -rroot 3735688 1 0 Jul 30 - 0:35/opt/ibm/icc/cimom/bin/dirsnmpddaemon 3801316 3211408 0 Jul 30 - 0:00 /usr/sbin/rpc.statd -d 0 -t 50root 3866638 3211408 0 Jul 30 - 0:00 /usr/sbin/rpc.lockd -d 0 root 3932310 3211408 0 Jul 30 - 0:04 /usr/sbin/snmpmibdroot 3997880 1 0 Jul 30 - 0:00 /usr/sbin/uprintfdroot 4063408 3211408 0 Jul 30 - 0:00 /usr/sbin/inetdroot 4128912 1 0 Jul 30 - 0:00/opt/freeware/cimom/pegasus/bin/CIM_diagdroot 4260046 3539136 0 Jul 30 - 7:33/var/opt/tivoli/ep/_jvm/jre/bin/java-Xmx384m -Xminf0.01-Xmaxf0.4 -Dsun.rmi.dgc.cliroot 4325546 1 0 Jul 30 - 2:36 ./slp_srvreg -Droot 4391132 3211408 0 Jul 30 - 0:00 /usr/sbin/writesrvroot 4456636 1 1 Jul 30 - 13:45 /usr/sbin/getty /dev/console root 4522186 3211408 0 Jul 30 - 1:23 sendmail: accepting connectionsroot 4718632 3211408 0 Jul 30 - 0:50 /usr/sbin/aixmibdroot 4784288 3211408 0 Jul 30 - 6:03 /usr/sbin/syslogdroot 4849826 3211408 0 Jul 30 - 0:00 /usr/sbin/biod 6root 4915382 3211408 0 Jul 30 - 0:05 /usr/sbin/hostmibdroot 4980920 3211408 0 Jul 30 - 0:05 /usr/sbin/portmaproot 5111980 1 0 Jul 30 - 0:00 /usr/dt/bin/dtlogin -daemon root 5177510 1 0 Jul 30 - 0:07 /usr/sbin/cronroot 5243044 1 0 Jul 30 - 0:10 /usr/bin/cimlistenerroot 5505206 3211408 0 Jul 30 - 0:00 /bin/ksh /pconsole/lwi/bin/ lwistart_src.shpconsole 5570756 5505206 0 Jul 30 - 0:00 /bin/ksh /pconsole/lwi/bin/ lwistart_src.shroot 5701642 3211408 0 Jul 30 - 0:00/usr/sbin/rsct/bin/IBM.ServiceRMdroot 6094978 7602204 11 09:16:46 pts/0 0:00 ps -efu0009539 6881324 7733258 0 08:09:42 pts/0 0:00 -kshroot 7602204 6881324 0 08:09:45 pts/0 0:00 -kshu0009539 7733258 8126660 1 08:09:42 - 0:00 sshd: u0009539@pts/0 root 8126660 3408036 0 08:09:38 - 0:00 sshd: u0009539 [priv]最常见的 ps 输出格式对于研究内存问题不太有用,但是有时候能让您回忆起在使用大量内存的系统上运行的一个进程。

但是,还有其他输出格式,其中最有用的是使用 BSD 风格的格式 u 或 v,它们显示每个进程的内存使用情况报告。

下面的示例显示系统中每个活动进程的内存使用情况,并以恰当的方式排序。

清单 2. 每个活动进程的内存使用情况.# ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -rPID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND ...lines skipped for clarity4980920 - A 0:05 14 972 1028 32768 41 56 0.0 0.0 /usr/sb 5111980 - A 0:00 12 620 772 32768 135 152 0.0 0.0 /usr/dt 5177510 - A 0:07 20 580 656 32768 58 76 0.0 0.0 /usr/sb5243044 - A 0:10 1 7176 7232 32768 34 56 0.0 0.0 /usr/bi 5505206 - A 0:00 4 560 840 32768 241 280 0.0 0.0 /bin/ks 5570756 - A 0:00 5 564 844 32768 241 280 0.0 0.0 /bin/ks 5701642 - A 0:00 118 1772 1984 xx 258 212 0.0 0.0 /usr/sb 6881324 pts/0 A 0:00 0 556 836 32768 241 280 0.0 0.0 -ksh 7602204 pts/0 A 0:00 0 560 840 32768 241 280 0.0 0.0 -ksh 7667774 pts/0 A 0:00 0 720 828 32768 82 108 0.0 0.0 ps gv 7733258 - A 0:00 0 828 1052 32768 450 556 0.0 0.0 sshd: u 8126660 - A 0:00 0 704 928 32768 450 556 0.0 0.0 sshd: u 264 - A 1:20 0 448 448 xx 0 0 0.0 0.0 swapper各个列提供关于内存使用情况的详细信息:•RSS —每个进程用于文本和数据段的 RAM 量。

相关文档
最新文档