面对性能问题,我们第一件事情就是查看CPU使用率。查看CPU使用率的方式是大家都熟悉的top命令,但是top在多核系统中指示的是所有CPU的平均使用率,这一点大家必须理解。比如说,对于一个4核的系统,如果一个CPU的使用率是100%,其它CPU都在空闲状态,使用top命令看到的使用率可能只有25%。 另一个top命令就是top -H -p pid,这个命令能够查看某一个进程下的所有线程CPU使用率
top -H -p pid
上面的这个命令也就是查看某个进程下哪些线程占用了较多的CPU
top - 15:31:32 up 69 days, 6:09, 35 users, load average: 1.78, 3.36, 3.86
Tasks: 3 total, 0 running, 3 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 99.9% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 264037488k total, 261933344k used, 2104144k free, 4541060k buffers
Swap: 33554428k total, 1116764k used, 32437664k free, 212254216k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
134 root 20 0 22296 2072 0 S 0.0 0.0 0:00.09 ypbind
139 root 20 0 22296 2072 0 S 0.0 0.0 0:00.00 ypbind
140 root 20 0 22296 2072 0 S 0.0 0.0 0:18.59 ypbind