AIX CPU usage Analysis

1)使用vmstat进行分析

2)sar –P ALL 1 10 分析,多个cpu间的负载是否平衡

3)ps aux 查看

4)tprof查看更详细的信息


说是sar会耗系统资源。

sar -P ALL 看所有cpu。


vmstat

  ¨ r列表示可运行的内核线程平均数目,包括正在运行的线程和等待 CPU 的线程。如果这个数字大于 CPU 的数目,则表明有线程需要等待CPU。

  ¨ b列表示处在非中断睡眠状态的进程数。包括正在等待文件系统 I/O 的线程,或由于内存装入控制而被挂起的线程。


curt使用方法:

http://www-01.ibm.com/support/knowledgecenter/#!/ssw_aix_61/com.ibm.aix.prftools/idprftools_cpu_ex_def_processor.htm


一般情况下:

tprof -x sleep 60


perfpmr.sh


解决CPU占用的惩罚机制nice和renice

  指定和修改命令的优先级。

  系统中运行的每个进程都有一个优先级,我们可以用ps命令看到,这个优先级为PRI,PRI的值越小,优先级越高,能占用更多的CPU时间片。系统默认的PRI为60,我们可以通过nice命令和renice命令来改变一个进程的优先级,从而控制进程对CPU时间片的占用。

  任何一个用户都可以使用nice命令来使他的进程以低于系统默认的pri运行。但是只有root用户才可以使进程以高于默认的pri运行。

  我们先来看一下nice命令的使用方法:

#nice –n -5 vmstat 2 10 >vmstat.out
# ps -el
F S UID     PID    PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD
200001 A 0  704738 1523728   0  55 15 aee1400   544 f100009e63c23e30  pts/1  0:00 vmstat

  指定程序以nice值-5开始运行。程序开始后,nice的值为15,PRI的值为55。

  nice命令可以指定的范围为-20 (最高优先级)到 20 (最低优先级)。在AIX5.3中,默认的nice为20。

# vmstat 2 10 >vmstat.out
# ps -el
F S UID     PID    PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD
200001 A   0  704740 1523728   0  60 20 32ec6400   472 f100009e63c23e30  pts/1  0:00 vmstat64

  可以看到默认的情况下,系统使用的nice=20,pri=60 。

  实际上,在使用nice指定的时候,我们也可以使用超出闭区间[-20,20]的值,比如:

nice –n -33 vmstat 2 10 >vmstat.out
# ps -el
F S UID     PID    PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD

200001 A   0  319652 1523728   0  40  0 82ef0400   544 f100009e63c23e30  pts/1  0:00 vmstat64

  上例中,我们指定的nice小于-20,得到最高的优先级(pri=40)。反之,如果我们指定nice的值超过20,比如nice=21,我们将得到最低的优先级值pri=100。

  renice不能在具有固定优先级的进程上使用。非root用户可以在一个或多个运行进程的nice值上加一个指定的值,但不能从中减去指定的值。也就是只能降低进程的优先级,而不能增加优先级。

  renice -n -10 pidnumber ,将指定的进程nice值减小10。

  renice -n +5 pidnumber ,将指定的进程nice值增加5。

  根据nice值的不同取值,这里renice的值可以取值的范围是闭区间[-40,40 ]。为什么取值范围是这个呢?我们可以这样来理解,通过ps –l命令,我们可以看到NI的取值范围是闭区间[0,40],我们使用renice需要改变的也就是整个值,考虑两个极端的情况,假如现在为0,我们要把它改到40,就必须得renice –n 40,如果现在是40,我们要把它改为0,则renice的值就得是-40了。

  当然,跟nice一样,在这里renice的值在命中使用的时候也可以超出这个闭区间,不会报错,但有效的结果只落在这个闭区间内。

# ps l 1630282
FSUID  PID    PPID  C  PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
200001 A   0 1630282  680062   0  100 40 413e8400 472  484   EVENT  pts/1  0:00 v
# renice -n -30 1630282
# ps l 1630282
FSUID  PID    PPID  C  PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
200001 A   0 1630282  680062   0  50 10 413e8400 472  484   EVENT  pts/1  0:00 v

  我们可以总结一下,pri值的取值公式大概如下:

  优先级值(PRI)= 基本优先级(60)+nice损失 + 基于最近CPU使用情况的CPU损失

  总的来说nice值越小,进程的优先级越高,能分配到更多的cpu时间片。反之,也成立。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值