WEB开发网
开发学院操作系统Linux/Unix AIX系统CPU性能评估 阅读

AIX系统CPU性能评估

 2008-05-08 08:16:18 来源:WEB开发网   
核心提示: 在这个输出结果中,排在前面的是16个root用户的wait进程,AIX系统CPU性能评估(9),这其实是CPU空闲的时候运行的空闲进程,之前已作说明,我们就可以看到这个进程中具体运行的语句、过程等,以及所有的SQL的cpu消耗、物理读、逻辑读、执行计划等信息,所以CPU最高的几个进程其实是

在这个输出结果中,排在前面的是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
  WHERE (a.hash_value, a.address) IN (
      SELECT DECODE (sql_hash_value,0, prev_hash_value,sql_hash_value),
          DECODE (sql_hash_value,0, prev_sql_addr, sql_address)
       FROM v$session b
       WHERE b.paddr = (SELECT addr
                FROM v$process c
                WHERE c.spid = '&pid'))
ORDER BY piece ASC

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

上一页  4 5 6 7 8 9 10  下一页

Tags:AIX CPU

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接