查询和管理进程(二)
    在查询与管理进程(一)中我们提到了pstop命令用来查看系统进程信息的,相当于windows中的资源管理器的进程选项,不过在linux ps出来的进程是静态的,也就是说是你在执行ps命令那一刻系统的进程列表,而top命令是动态的,系统默认是五秒钟刷新一次。这个很像windows中资源管理器中的进程选项,不过要比windows中的跟详细。下面让我们一起去揭开这两个命令的神秘面纱。
    ps  命令
          关于ps命令的使用您可以去查询和管理进程(一)去看看 ,这里我们只讨论命令所显示信息的意思。
     下图是执行ps -l的输出信息
F          表示这个进程的标志(flag),4表示用户为超级用户。
S          表示这个进程的状态(stat),关于进程状态的内容我们将会在后面提到。
PID      这个进程的id
PPID     进程的父进程的id
C          cpu使用的资源百分比
PRI        进程优先级,这个将在后面做详细解释
NI         Nice  ,这个在查询与管理进程(一)中有解释
ADDR    这是核心功能,指出该进程在内存中的哪一部份,如果是运行的进程,一般是‘-
SZ        用掉的内存大小
WCHAN  当前进程是否在运行,若在运行用‘-’表示。
TTY         登录者的终端位置
TIME       用掉cpu的时间
CMD        执行的命令
下面是执行ps aux命令的输出信息,比较上者有所不同
USER      该进程属于哪个用户账号;
PID         该进程的号码
%CPU     该进程使用的cpu资源百分比
%MEM    该进程所使用的物理内存的资源百分比
VSZ        该进程使用的虚拟内存(KB
RSS        该进程暂用的固定内存量(KB
TTY        该进程在哪个终端上运行,若于终端无关,这显示?。如果是tty1-6表示本机登录者的进程,若为pts/0等,这表示由网络连接到主机进程
STAT     该进程的当前状态,主要状态有
             ---R   该进程当前正在运行,或是可运行
             ---S   该进程正在睡眠中,但可被某些信号唤醒
             ---T   该进程当前正在检测或停止
             ---Z   该进程已停止,但其父进程却无法正常终止它,造成“僵尸“进程状态
START    该进程被触发的启动时间
TIME       该进程实际使用cpu运行的时间
COMMAND  该进程的实际命令
Top 命令的使用
top  -d  :后面接秒数,就是整个画面更新的秒数。默认是五秒。
       -b  :以批处理的方式执行top
        -n  :通常和-b一起使用,需要进行几次的top输出结果。
        -p:指定某个pid进行观察。
Top执行过程中可以使用的按键命令:
        ?:显示在top中可以使用的按键命令。
         P:按cpu的使用使用资源排序显示。
         M: 按内存的使用资源排序
         N: pid来排序。 
         T: 按该进程使用cpu的累积时间来排序。
         k:给某个pid一个信号。
         r :给某个pid重新确定一个值。
下面是使用top命令输出地显示中的一个画面,我们一起来看看。
Top主要分为两个画面,上面主要是显示整个系统的资源的使用状态,有六行,显示的内容依次是:
第一行 :显示系统已启动的时间、当前上线人数、系统整体负载。三个数据分别表示1   5  10分钟的平均负载。一般来说,负载值不会超过1,除非系统很忙。
第二行:显示当前的进程数量,需要注意的是最后面的zombie数值,如果不是0,好好看看到底是哪个进程变成僵尸了。
第三行:显示cpu的总负载,每个项目可采用问号查看。需要观察的是id的数值,一般来说,他应该接近100%,表示系统资源使用的很少。
第四行: 表示当前物理内存使用的情况。Total  used  free分别表示总共的 已使用的,空闲的。
第五行:和第四行一样,只是显示的是虚拟内存的使用情况。
第六行 :这是在top进程中输入命令时显示状态的地方。
Top下面的画面,则是每个进程使用的资源情况。该快信息表示的意思和前面的一样。需要注意的是:
PID :进程的id
USER :该进程所属的用户
PR :进程执行的优先顺序,越小越先执行。
NI :Nice的简写与pr有关,也是越小越先执行。
%CPU :cpu的使用率
%MEM :内存的使用率
TIME+ :该进程cpu使用时间的累加。
 
一般来说,如果想找出最耗费cpu资源的进程,大多使用top命令,然后强制按照cpu的资源使用来排序(在top中按下p),就可以很快知道了。
注意:以上这些信息的理解在系统调优的过程中很重要。希望大家看到此贴后对大家理解这部分信息能有所帮助。谢谢查看!