AIX系统CPU性能评估
本文对cpu性能的命令作了详细介绍,并给出了对于系统cpu监控的建议。
5、ps
这个命令使用本身也比较复杂,在这里只介绍如何查看cpu占用最高的进程。使用举例如下:
| #ps aux | head -25 USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND root 17214 3.1 0.0 40 40 - A Jul 04 25578:42 wait root 16946 3.1 0.0 40 40 - A Jul 04 25415:54 wait root 16678 3.1 0.0 40 40 - A Jul 04 25377:03 wait root 53274 3.1 0.0 40 40 - A Jul 04 25170:12 wait root 286 3.1 0.0 40 40 - A Jul 04 25144:00 wait root 8196 3.0 0.0 40 40 - A Jul 04 25082:32 wait root 822 3.0 0.0 40 40 - A Jul 04 25072:25 wait root 554 3.0 0.0 40 40 - A Jul 04 25034:14 wait root 20776 2.7 0.0 40 40 - A Jul 04 22181:27 wait root 57372 2.7 0.0 40 40 - A Jul 04 22118:00 wait root 49176 2.7 0.0 40 40 - A Jul 04 22102:02 wait root 21044 2.7 0.0 40 40 - A Jul 04 22077:18 wait root 12848 2.7 0.0 40 40 - A Jul 04 22036:44 wait root 21312 2.7 0.0 40 40 - A Jul 04 21998:53 wait root 12580 2.7 0.0 40 40 - A Jul 04 21967:17 wait root 13116 2.7 0.0 40 40 - A Jul 04 21865:51 wait oracle 344612 0.3 0.0 56372 33852 - A Jul 04 2707:30 ora_j000_ora92 oracle 430408 0.3 0.0 55916 33396 - A Jul 04 2266:20 ora_j001_ora92 oracle 365092 0.2 0.0 56184 33664 - A Jul 04 1765:58 ora_j002_ora92 oracle 442430 0.2 0.0 56092 33572 - A Jul 04 1426:40 ora_j003_ora92 oracle 385606 0.1 0.0 55984 33464 - A Jul 05 1159:17 ora_j004_ora92 oracle 413856 0.1 0.0 50520 28000 - A Jul 23 543:31 oracleora92 (LOC oracle 143668 0.1 0.0 50528 28008 - A Jul 13 833:21 oracleora92 (LOC oracle 369230 0.1 0.0 56600 34080 - A Jul 05 806:36 ora_j005_ora92 |
在这个输出结果中,排在前面的是16个root用户的wait进程,这其实是CPU空闲的时候运行的空闲进程,之前已作说明。
所以CPU最高的几个进程其实是下面的ORACLE用户的ora_j00*进程,这是ORACLE的job进程。在这里,这些进程的开销很小。如果ORACLE的进程开销比较大,我们可以用如下的方法来查询具体的进程在干什么事情,例如我们要查询进程ora_j000_ora92,PID=344612,可以使用下面的方法:
| $su – oracle SQL>sqlplus “/as sysdba” SQL>oradebug setospid 344612 SQL>oradebug event 10046 trace name context forever, level 8 SQL>oradebug tracefile_name –这个命令我们获得输出文件的绝对路径和文件名 SQL>oradebug event 10046 trace name context off $tkprof /opt/oracle/app/oracle/admin/ora92/bdump/ora92_j000_344612.trc tracepid.txt $more tracepid.txt |
在tracepid.txt中,我们就可以看到这个进程中具体运行的语句、过程等,以及所有的SQL的cpu消耗、物理读、逻辑读、执行计划等信息。
另外,我们也可以执行下面的语句查看进程具体运行的SQL语句的文本:
|
SELECT /*+ ORDERED */ sql_text FROM v$sqltext a |

