zwz99999
作者zwz99999·2020-04-06 14:22
系统工程师·dcits

AIX常用的性能监控命令

字数 4217阅读 4764评论 0赞 3

AIX 常用的性能监控命令

机器性能优化主要从四个方面去考虑: CPU ,内存,磁盘 I/O ,网络。

1 , CPU

sar 命令

可以使用 sar 命令来查看 cpu 的使用率。

bjaix:[/]#sar 1 5

AIX bjaix 1 5 000AF70D4C00 01/24/06

13:13:25 %usr %sys %wio %idle

13:13:26 0 0 0 100

13:13:27 0 0 0 100

13:13:28 0 0 0 100

13:13:29 0 0 0 100

13:13:30 0 0 0 100

Average 0 0 0 100

%usr + %sys > 80% 的时候 CPU 将是瓶颈

bjaix:[/]#ps aux | head -4 查看前 3 位占用 cpu 的进程

USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND

root 774 49.7 8.0 12 18052 - A 10:07:58 188:24 wait

root 516 49.7 8.0 12 18052 - A 10:07:58 188:20 wait

root 5688 0.1 0.0 164 168 - A 10:09:13 0:21 /usr/sbin/syncd 6

%CPU 表示进程使用 cpu 时间的百分比;% MEM 表示进程使用实际内存的百分比

ps –elf 命令

将查看进程的优先级别

bjaix:[/]#ps -elf

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

200003 A root 1 0 0 60 20 28034 1876 10:08:23 0:00 /etc/init

240401 A root 2968 4502 0 60 20 2c376 2176 * 10:10:230:00 /usr/sbin/rsct/bin/IBM.ServiceRMd

40001 A root 3192 1 0 60 20 3417a 1472 10:09:00 -

0:00 /usr/dt/bin/dtlogin -daemon

240001 A root 3730 4158 3 61 20 321b9 2568 10:10:19 -

0:20 dtgreet

PRI 值越小,优先级越大。

NI 值越大,优先级越小。

可以使用命令 nice , renice 来修改 NI 值。

2 , MEMORY

vmstat 命令

主要使用 vmstat 命令来查看虚拟内存和实际内存的使用率,看内存瓶颈主要是看 ps 的使用率,只要 ps 的使用率没有超过 70 %,内存的使用率为 100 %都是正常的。

bjaix:[/]#vmstat

kthr memory page faults cpu


r b avm fre re pi po fr sr cy in sy cs us sy id wa

1 1 45137 464235 0 0 0 0 0 0 248 523 333 0 0 99 0

Page 表示页面调入调出的数量, pi po 经常为非零值时,需要注意。

Wa 表示等待 I/O 的时间,不能太高

avm 活动虚拟页面 , 在进程运行中分配到工作段的页面空间数 . 越小越好,单位为 4K 。

实际内存中 系统进程使用的(计算段) 工作段。该值与 svmon –G 中的 virtual 值相等。

fre 空闲列表的数量 . 一般不少于 120, 当 fre 少于 120 时 , 系统开始自动的 kill 进程去释放 free list 越大越好,实际内存中空闲的 frame 数。

注意: avm 不包括 文件系统缓存

The avm number will grow as more processes get started and/or existing processes allocate more working storage.

实际内存 页面数 =( avm+fre+ 文件系统缓存) ×4k

文件系统缓存 = 文件系统缓存+某些程序退出时未释放的文件页面

可以使用 vmstat -v 查看文件系统缓存

当文件系统 mount 上的时候,对于内存区域有两个动作,第一为分配部分工作段,第二为分配部分文件系统缓存

lsps –a 命令

查看 pagespces 的使用率

bjaix:[/]#lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto Type

hd6 hdisk2 rootvg 2464MB 1 yes no lv

% used > 70% 内存将成瓶颈

svmon 命令

可以查看物理内存的情况

bjaix:[/]#svmon –G 查看内存全局使用状况

bjaix:[/]#svmon -Pt 3 查看前三个占用内存的进程

HPUX 下可以使用 lsof 查看

svmon -G ,topas, 看出来都是 20G 内存,可 ps gu 或 ps auxxx 相加或使用 svmon -U 相加却少了 10G

使用 svmon -P 发现大量的 aioserver 占掉了内存,用 ps -efk 统计也是如此,原来是 aioserver 开得过多造成的。而 aioserver 属于 kernel 的,所以有些统计都不算在内。

1 , 磁盘 I/O

iostat 命令

主要使用 iostat 命令查看磁盘 I/O 的负载

bjaix:[/]#iostat 1 2

tty: tin tout avg-cpu: % user % sys % idle % iowait

0.2 8.3 0.1 0.5 99.0 0.4

Disks: % tm_act Kbps tps Kb_read Kb_wrtn

hdisk0 0.0 0.2 0.0 3157 0

hdisk1 0.1 1.3 0.1 12049 4640

hdisk2 0.0 0.1 0.0 5 1405

cd0 0.0 0.0 0.0 0 0

tty: tin tout avg-cpu: % user % sys % idle % iowait

0.0 476.6 0.0 1.0 99.0 0.0

Disks: % tm_act Kbps tps Kb_read Kb_wrtn

hdisk0 0.0 0.0 0.0 0 0

hdisk1 0.0 0.0 0.0 0 0

hdisk2 0.0 0.0 0.0 0 0

cd0 0.0 0.0 0.0 0 0

A system is I/O bound, if:

%iowait > 25%, %tm_act > 70%

lvmstat 命令

该命令查看单个 lv , vg 上的 I/O 流量

使用 lvmstat 命令前需要用 -e 选项 激活该命令:

bjaix:[/]#lvmstat -v rootvg –e

bjaix:[/]#lvmstat -v rootvg

Logical Volume iocnt Kb_read Kb_wrtn Kbps

hd4 13 0 56 0.00

hd8 11 0 44 0.00

hd2 8 0 36 0.00

hd9var 3 0 12 0.00

hd3 1 0 4 0.00

loglv02 0 0 0 0.00

lv01 0 0 0 0.00

sysb 0 0 0 0.00

hd10opt 0 0 0 0.00

hd1 0 0 0 0.00

hd6 0 0 0 0.00

hd5 0 0 0 0.00

bjaix:[/]#lvmstat -l hd4

Log_part mirror# iocnt Kb_read Kb_wrtn Kbps

1 1 36 0 156 0.00

2 1 0 0 0 0.00

3 1 0 0 0 0.00

4 1 0 0 0 0.00

5 1 0 0 0 0.00

filemon 命令

To monitor the physical I/O activity of the virtual memory, logical volume,

and physical volume levels of the file system, enter:

bjaix:[/]#filemon -o /tmp/filemon.out 开始监控磁盘 I/O

bjaix:[/]#smitty trcstop 停止监控并创建报告

bjaix:[/]#more /tmp/filemon.out 查看报告

topas svmon

查看每个进程所占的 IO

bjaix:[/]#topas –P

bjaix:[/]#svmon -P | more

2 , network

topas 命令

可以使用该命令查看所有的性能情况,包括 CPU, 内存,磁盘 I/O , network

bjaix:[/]#topas

其他命令可参见相关网络管理文档

每个活动进程的内存使用情况

ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -r

查看最占用 CPU 的 10 个进程

ps aux|grep -v USER|sort +2|tail -n 10

查看最占用内存的 10 个进程

ps aux|grep -v USER|sort +3|tail -n 10

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广