查看线程信息 进程线程信息文件 time分析进程CPU消耗 trace命令用法
- 2015-07-21 15:49:00
- admin
- 原创 6847
一、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