命令谁都会,玩通里面参数,准确判断服务器状态,进行调优工作。

 

[root@mysql-5 ~]# vmstat 1 5procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 0  0      0 828692   9480  52992    0    0   839    16  220  231  2  5 92  0  0

r:运行队列(多少个进程真的分到CPU)。当这个值超过CPU数,就会出现CPU瓶颈。

b:堵塞的进程。
swpd:虚拟内存使用大小
free:空闲物理内存大小
buff:目录里有什么内容,权限等的缓存。
cache:打开的文件,给文件做缓存。
si:每秒虚拟内存写入磁盘的大小
so:每秒虚拟内存写入磁盘的大小
bi:块设备每秒接受的块数量
bo:块设备每秒发送的块数量
in:每秒CPU中断此数,包括时钟中断
cs:每秒上下文切换,例如:调用系统函数,就要进行上下文切换。系统调用,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换此时过多表示CPU大部分浪费在上下文切换,导致CS干正经事的时间很少,CPU没有充分利用
us:用户cpu时间。
sy:系统cpu时间,如果太高,表示系统调用时间长
id:空闲cpu时间,一般来说id+us+sy = 100.(id空闲cpu使用率,us用户cpu使用率,sy系统cpu使用率)
wt:等待IO CPU时间

 

top 使用参数说明:

d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出top

 

第六行显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标示号 ( 每个 process 的 ID ) USER:进程所有者的用户名 ( 该 process 所属的使用者 ) PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 ) NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 ) VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 ) Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

 

 

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

<空格>:立刻刷新。 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序。 q:退出top命令。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。