ps命令在linux系统中描述中说是显示所有活动进程,而top命令是实时动态显示进程信息。意思是说,两个命令都是查看系统进程信息,但是ps命令是查看系统过去信息的一次性快照或者瞬时的信息,top查看系统进程动态信息,默认10秒钟更新一次,可以持续监视进程。

先说ps命令:

CentOS7.3学习笔记总结(七十一)_centos                                               

运行ps命令不带任何参数:

CentOS7.3学习笔记总结(七十一)_ps_02

结果只显示运行在控制台下的属于当前用户的进程,只运行了bash shell,以及ps本身,同时还显示了程序进程的PID,运行在了那个终端(TTY),以及进程已经使用的cpu时间。

ps命令有很多的参数:

CentOS7.3学习笔记总结(七十一)_linux_03

我们这里不一一介绍,我们只需要知道最有用的就行了。

ps -ef#-e:显示所有进程,-f:显示完整格式的输出;这也是使用最多的。

CentOS7.3学习笔记总结(七十一)_top_04

各列信息说明:

UID:启动这些进程的用户;PID:进程的进程IDPPID:父进程的进程号(如果该进程是由另一个进程启动的); C:进程生命周期中的CPU利用率;STIME:进程启动时的系统时间;TTY:进程启动时的终端设备;TIME:运行进程需要的累计CPU时间;CMD:启动的程序名称。

当然也可以加上-l(显示长列表)参数

CentOS7.3学习笔记总结(七十一)_ps_05

比较常用的还有ps -aux

-a 显示跟任意终端关联的所有进程;-u 采用基于用户的格式显示;-x按过去的Linux i386寄存器格式显示。

再说top命令:

CentOS7.3学习笔记总结(七十一)_centos_06

 

上面我们知道ps命令查看系统上某个时间点的进程信息,但是如果我们想查看多个时间点的进程信息,就要频繁执行ps命令,非常的不方便了,top命令就解决了这个问题,实时显示进程信息。

CentOS7.3学习笔记总结(七十一)_centos_07

显示内容为系统运行的概况,第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载。平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载,值越大说明系统的负载越高。短期的突发性活动,出现1分钟的高负载值是很常见的,但若近15分钟内的平均负载都很高,就说明系统可能有问题了。第二行显示了进程概要信息,有多少个进程(tasks),有多少进程处在运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应)。第三行显示的CPU概要信息。第四行为系统的物理内存,总共有多少内存,当前用了多少,还有多少空闲。第五行系统交换空间的状态信息。

后面的内容显示了当前运行中的进程的详细列:

CentOS7.3学习笔记总结(七十一)_linux_08

top命令的常用参数实例:

top -p 进程id,则可以一秒一次跟踪cpu的使用情况

CentOS7.3学习笔记总结(七十一)_linux_09

top -d 1 -n 1000  这一行命令表示延迟1秒为周期,打印1000

top命令下,输入u,然后输入相应的用户名,则可以查看相应的用户进程

CentOS7.3学习笔记总结(七十一)_linux_10