查看线程信息 进程线程信息文件 time分析进程CPU消耗 trace命令用法

2015-07-21 15:49:00
admin
原创 6847
摘要:查看线程信息 进程线程信息文件 time分析进程CPU消耗 trace命令用法

一、ps查看线程信息       

参数说明:

-L Show threads, possibly with LWP and NLWP columns
-T Show threads, possibly with SPID column

-m Show threads after processes,同时显示进程和线程时使用,最经常使用;


名词解释:

LWP:light weight process,linux下面表示线程;

SPID:system process id,linux下面表示线程;

STIME:进程启动时间;

TIME:进程消耗CPU时间;

WCHAN:进程正在等待的内核函数;


ps -Lf -p 14955 
UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
root     14955     1 14955  2    2 Nov02 ?        02:39:49 ./card_svr
root     14955     1 14958 12    2 Nov02 ?        14:42:25 ./card_svr


ps -Tf -p 14955
UID        PID  SPID  PPID  C STIME TTY          TIME CMD
root     14955 14955     1  2 Nov02 ?        02:39:49 ./card_svr
root     14955 14958     1 12 Nov02 ?        14:42:21 ./card_svr


ps -mp 14955 -o THREAD,tid,stime,time,lstart可以替换stime,lstart精确日期格式,command显示进程名;
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID STIME     TIME
root     14.5   -    - -         -      -     - Nov02 17:27:19
root      2.2  19    - ep_pol    -      - 14955 Nov02 02:40:53
root     12.2  19    - hrtime    -      - 14958 Nov02 14:46:26


二、top查看线程信息

top -H -p 14955 
top - 16:45:31 up 155 days, 5 min,  1 user,  load average: 0.05, 0.20, 0.16
Tasks:   2 total,   1 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.0%us,  0.6%sy,  0.0%ni, 98.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  30810932k total, 26229012k used,  4581920k free,   268808k buffers
Swap:  2097144k total,   364240k used,  1732904k free, 18929424k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
14958 root      20   0 3460m 3.3g  356 R 10.0 11.2 889:59.68 card_svr
14955 root      20   0 3460m 3.3g  356 S  4.0 11.2 162:26.50 card_svr


三、查看进程线程信息文件

1、/proc/pid/status,记录进程详细信息;

2、/proc/pid/task/tid/status,记录线程详细信息;


四、time分析进程CPU消耗

time命令可以分析进程CPU消耗,结果包含三个字段:
1、real,进程执行时间;

2、user,进程在用户态花费的CPU时间;

3、sys,进程在内核态花费的CPU时间;


五、trace命令用法

ltrace用于追踪库函数调用,strace用于追踪系统调用和信号:

1、ltrace比strace追踪更多调用,推荐使用;

2、-p参数用于指定跟踪进程PID;

3、-c参数用于计数和汇总;

4、-tt打印调用发生时间;

5、-T打印调用耗时多少;


ltrace使用示例:

ltrace -c uptime

ltrace -c -p 26758

ltrace -tt -T -p 26758


strace使用示例:

strace -c uptime

strace -c -p 26758

strace -tt -T -p 26758

发表评论
评论通过审核之后才会显示。