一 先来看看ps命令:

1.查看当前某个时间点的进程:ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、

哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

2.ps [选项]     下面对命令选项进行说明:

-e :显示所有进程。
-f :全格式,做一个较为完整的输出。
-h :不显示标题。
-l :长格式,较长、较详细的将该 PID 的的信息列出。
-w: 宽输出。
a :显示终端上的所有进程,包括其他用户的进程。
-u :有效使用者 (effective user) 相关的 process ;
x: 显示没有控制终端的进程,通常与 a 这个参数一起使用,可列出较完整信息。
r :只显示正在运行的进程。



特别说明:由于 ps 能够支持的 OS 类型相当的多,所以他的参数多的离谱! 而且有没有加上 - 差很多!详细的用法应该要参考 man ps



一般会这样使用:ps -aux | more

 

二 接着来看top命令

1. 在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。

退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

top提供了实时的对系统的监控状态,会定时更新显示进程的cpu使用情况,而top只能将某个时间点的程序运作情况撷取下来。

2. top [-] [d] [p] [q] [c] [C] [S]    [n]
参数说明:
d:  指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:  通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S: 指定累计模式
s : 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:  使top不显示任何闲置或者僵死进程。
c:  显示整个命令行而不只是显示命令名

 

三 free命令

1.free命令:显示内存的使用情况,使用权限是所有用户。

和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

格式:free [-b -k -m] [-o] [-s delay] [-t] [-V]
主要参数:
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

比如:free -b -s5     使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

 

四 直接查看系统信息

Linux系统中“/proc”是虚拟文件系统,不占用系统空间,其中许多文件都保存系统运行状态和相关信息,及时的反应出内存现在使用的进程情况。
对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
Cpuinfo          主机CPU信息
Dma             主机DMA通道信息
Filesystems       文件系统信息
Interrupts         主机中断信息
Ioprots           主机I/O端口号信息
Meninfo          主机内存信息
Version           Linux内存版本信息

如:cat cpuinfo 查看cpu信息,cat meninfo 查看内存信息

 

五 更多:

衡量CPU性能的指标:

1,用户使用CPU的情况;
CPU运行常规用户进程
CPU运行niced process
CPU运行实时进程

2,系统使用CPU情况;
用于I/O管理:中断和驱动
用于内存管理:页面交换
用户进程管理:进程开始和上下文切换

3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。

4,CPU的空闲率,除了上面的WIO以外的空闲时间

5,CPU用于上下文交换的比率

6,nice

7,real-time

8,运行进程队列的长度

9,平均负载

Linux中常用的监控CPU整体性能的工具有:
§ mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。
§ vmstat:只能查看所有CPU的平均信息;查看cpu队列信息;
§ iostat: 只能查看所有CPU的平均信息。
§ sar: 与mpstat 一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。
§ top:显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。

六 这里再介绍一下平均负载的命令 uptime

[root@localhost ~]# uptime  
 11:39:36 up 11 days, 19:16, 1 user, load average: 0.09, 0.03, 0.01
        原来它所表示的是过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。
那么,如何衡量当前系统是否负载过高呢?这里需要注意的是load average这个输出值,这三个值的大小一般不能大于系统逻辑CPU的个数,

例如,本输出中系统有4个逻辑CPU,如果load average的三个值长期大于4时,说明CPU很繁忙,负载很高,可能会影响系统性能,

但是偶尔大于4时,倒不用担心,一般不会影响系统性能。相反,如果load average的输出值小于CPU的个数,则表示CPU还有空闲,比如本例中的输出,CPU是比较空闲的。
       这时候可以结合vmstat命令来判断我们的系统是否过于繁忙,如果确定很繁忙的话,就要考虑是否更换服务器或增加CPU的个数了。总结如下:
       如果r经常大于系统的逻辑CPU个数,且id经常少于50,则表示CPU的负荷很重。

(#cat /proc/cpuinfo 可以查看到cpu的核数,如cpu cores:2)