ps aux 是用BSD的格式来显示 java这个进程
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef 是用标准的格式显示java这个进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMDjava
二者的输出结果差异不大,但展现风格不一样。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。tomcat
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络链接主机进程。
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)网络
其中STAT状态位常见的状态字符有《《《最多见的有5种》》》
D //没法中断的休眠状态(一般 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //中止或被追踪;
Z //僵尸进程;多线程
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;工具
l //多线程,克隆线程(使用 CLONE_THREAD, 相似 NPTL pthreads);spa
s //进程的领导者(在它之下有子进程);
+ //位于后台的进程组;线程
ps aux | grep '...' 主要能够看到 mem的信息及进程的状态。。。队列
ps -ef | grep 'tomcat'
ps -ef | grep pid ---》查看全部关联的子进程进程
若是想查看进程的CPU占用率和内存占用率,能够使用aux
若是想查看进程的父进程ID和完整的COMMAND命令,能够使用ef
ps 为咱们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;若是想对进程时间监控,应该用 top 工具。内存