如果想看一个进程的启动时间,可以用lstart来看
[root@jiangyi02.sqa.zmf /home/ahao.mah] #ps -eo pid,lstart,etime,cmd |grep syslog-ng 113160 Fri Nov 18 10:06:10 2016 00:00 grep --color=auto syslog-ng 125114 Thu Nov 17 21:22:30 2016 12:43:40 /usr/sbin/syslog-ng -F -p /var/run/syslog-ng.pid如果想看一个进程的启动时间,可以用lstart来看,使用-p的时候,不要使用-e,-e把所有的都显示出来
如果想看一个进程的运行时间,可以用etime
如果想要一个进程的使用内存大小,pid是实时获取,可以用pidof
[root@jiangyi02.sqa.zmf /home/ahao.mah] #ps -o rss `pidof syslog-ng` RSS 4584全面一点
使用ps格式输出来查看进程状态:
ps -eo user,stat..,cmd
user 用户名
uid 用户号
pid 进程号
ppid 父进程号
size 内存大小, Kbytes字节.
vsize 总虚拟内存大小, bytes字节(包含code+data+stack)
share 总共享页数
nice 进程优先级(缺省为0, 最大为-20)
priority(pri) 内核调度优先级
pmem 进程分享的物理内存数的百分比
trs 程序执行代码驻留大小
rss 进程使用的总物理内存数, Kbytes字节
time 进程执行起到现在总的CPU暂用时间
stat 进程状态
cmd(args) 执行命令的简单格式
例子:
查看当前系统进程的uid,pid,stat,pri, 以uid号排序.
ps -eo pid,stat,pri,uid –sort uid
查看当前系统进程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss
[root@jiangyi02.sqa.zmf /home/ahao.mah] #ps -o pid,user,stat,rss,start,lstart,etime,cmd,comm -p `pidof syslog-ng` PID USER %CPU %MEM STAT RSS STARTED STARTED ELAPSED CMD COMMAND 125114 root 0.0 0.0 Ss 4584 21:22:30 Thu Nov 17 21:22:30 2016 13:00:37 /usr/sbin/syslog-ng -F -p / syslog-ng [root@jiangyi02.sqa.zmf /home/ahao.mah] #ps wwf -p `pidof syslog-ng` PID TTY STAT TIME COMMAND 125114 ? Ss 0:00 /usr/sbin/syslog-ng -F -p /var/run/syslog-ng.pid /proc/pid/statm/proc/pid/stat: 包含了进程所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻
/proc/pid/statm: 包含了在此进程中所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。
[root@jiangyi02.sqa.zmf /home/ahao.mah] #cat /proc/1/statm 52262 6028 588 326 0 42268 0参数 解释 /proc/1/status
Size (pages)= 550 任务虚拟地址空间的大小 VmSize/4
Resident(pages)= 70 应用程序正在使用的物理内存的大小 VmRSS/4
Shared(pages)= 62 共享页数
Trs(pages)= 451 程序所拥有的可执行虚拟内存的大小 VmExe/4
Lrs(pages)= 0 被映像到任务的虚拟内存空间的库的大小 VmLib/4
Drs(pages)= 97 程序数据段和用户态的栈的大小 (VmData+ VmStk )4
dt(pages) 0
/proc/pid/stat包含了进程所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。
[root@jiangyi02.sqa.zmf /home/ahao.mah] #cat /proc/125114/stat 125114 (syslog-ng) S 1 125114 125114 0 -1 4202496 1604 0 1 0 20 11 0 0 20 0 1 0 209348677 102916096 1146 18446744073709551615 4194304 4202428 140730535837200 140730535836584 140420785473603 0 0 4198400 90115 18446744071581088462 0 0 17 4 0 0 0 0 0 6303056 6304336 32817152 140730535841578 140730535841627 140730535841627 140730535841764 0 [root@jiangyi02.sqa.zmf /home/ahao.mah] #cat /proc/1/stat 1 (systemd) S 0 1 1 0 -1 4202752 1203176 1161192394 54 5341 13690 6258 1691457 1050313 20 0 1 0 11 214065152 6028 18446744073709551615 140118427332608 140118428667368 140728385054208 140728385050640 140118402308195 0 671173123 4096 1260 18446744071581088462 0 0 17 2 0 0 185 0 0 140118428673280 140118428804640 140118443540480 140728385056684 140728385056735 140728385056735 140728385056735 0参数 解释
pid=1 进程(包括轻量级进程,即线程)号
comm= linuxrc 应用程序或命令的名字
task_state=S 任务的状态,R:runnign, S:sleeping (TASK_INTERRUPTIBLE), D:disk sleep (TASK_UNINTERRUPTIBLE), T: stopped, T:tracing stop,Z:zombie, X:dead
ppid=0 父进程ID
pgid=0 线程组号
sid=0 c该任务所在的会话组ID
tty_nr=0(pts/3) 该任务的tty终端的设备号,INT(0/256)=主设备号,(0-主设备号)=次设备号
tty_pgrp=-1 终端的进程组号,当前运行在该任务所在终端的前台任务(包括shell 应用程序)的PID。
task->flags=8388864进程标志位,查看该任务的特性
min_flt=50该任务不需要从硬盘拷数据而发生的缺页(次缺页)的次数
cmin_flt=633 累计的该任务的所有的waited-for进程曾经发生的次缺页的次数目
maj_flt=20该任务需要从硬盘拷数据而发生的缺页(主缺页)的次数
cmaj_flt=4 累计的该任务的所有的waited-for进程曾经发生的主缺页的次数目
utime=2 该任务在用户态运行的时间,单位为jiffies
stime=357 该任务在核心态运行的时间,单位为jiffies
cutime=72 累计的该任务的所有的waited-for进程曾经在用户态运行的时间,单位为jiffies
cstime=342 累计的该任务的所有的waited-for进程曾经在核心态运行的时间,单位为jiffies
priority=16 任务的动态优先级
nice=0 任务的静态优先级
num_threads=1 该任务所在的线程组里线程的个数
it_real_value=0 由于计时间隔导致的下一个 SIGALRM 发送进程的时延,以 jiffy 为单位.
start_time=22 该任务启动的时间,单位为jiffies
vsize=2252800(bytes) 该任务的虚拟地址空间大小
rss=70(page) 该任务当前驻留物理地址空间的大小
Number of pages the process has in real memory,minu 3 for administrative purpose.
这些页可能用于代码,数据和栈。
rlim=4294967295=0xFFFFFFFF(bytes) 该任务能驻留物理地址空间的最大值
start_code=32768=0x8000 该任务在虚拟地址空间的代码段的起始地址(由连接器决定)
end_code=1879936该任务在虚拟地址空间的代码段的结束地址
start_stack=3199270704=0Xbeb0ff30该任务在虚拟地址空间的栈的开始地址
kstkesp=3199269552 sp(32 位堆栈指针) 的当前值, 与在进程的内核堆栈页得到的一致.
kstkeip=1113432 =0X10FD58 指向将要执行的指令的指针, PC(32 位指令指针)的当前值.
pendingsig=0 待处理信号的位图,记录发送给进程的普通信号
block_sig=0 阻塞信号的位图
sigign=0 忽略的信号的位图
sigcatch=674311被俘获的信号的位图
wchan=3221479524 如果该进程是睡眠状态,该值给出调度的调用点
nswap=0 被swapped的页数
cnswap=0 所有子进程被swapped的页数的和
exit_signal=0 该进程结束时,向父进程所发送的信号
task_cpu(task)=0 运行在哪个CPU上
task_rt_priority=0 实时进程的相对优先级别
task_policy=0 进程的调度策略,0=非实时进程,1=FIFO实时进程;2=RR实时进程
/proc/pid/status