参考:http://c.biancheng.net/view/1065.html
# 查看服务器运行状态指令
$ top
指令说明
运行top命令后,键入大写P。
有两种途径:
a) 打开大写键盘的情况下,直接按P键
b) 未打开大写键盘的情况下,Shift+P键
运行top命令后,键入大写M。
有两种途径:
a) 打开大写键盘的情况下,直接按M键
b) 未打开大写键盘的情况下,Shift+M键
top 命令的基本格式如下:
[root@localhost ~]#top [选项]
选项:
-d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;
-b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;
-n 次数:指定 top 命令执行的次数。一般和"-"选项合用;
-p 进程PID:仅查看指定 ID 的进程;
-s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;
-u 用户名:只监听某个用户的进程;
在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:
? 或 h:显示交互模式的帮助;
P:按照 CPU 的使用率排序,默认就是此选项;
M:按照内存的使用率排序;
N:按照 PID 排序;
T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;
k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
r:按照 PID 给某个进程重设优先级(Nice)值;
q:退出 top 命令;
第一行信息
top - 22:51:54
系统当前时间
up 36 days, 22:27
系统的运行时间,本系统已运行36天22小时21分
1 user
当前登录了1个用户
load average: 0.08, 0.06, 0.05
统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值超过 1 就是高负载:如果 CPU 是四核的,则这个数值超过 4 就是高负载 (这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器 CPU 的核数)
第二行信息:
Tasks: 157 total
系统中的进程总数
1 running
正在运行的进程数
156 sleeping
睡眠的进程数
0 stopped
正在停止的进程数
0 zombie
僵尸进程数。如果不是 0,则需要手工检查僵尸进程
第三行CPU信息:
%Cpu(s): 0.1 us
用户模式占用的 CPU 百分比
0.1 sy
系统模式占用的 CPU 百分比
0.0 ni
改变过优先级的用户进程占用的 CPU 百分比
99.7 id
空闲 CPU 占用的 CPU 百分比
0.1 wa
等待输入/输出的进程占用的 CPU 百分比
0.0 hi
硬中断请求服务占用的 CPU 百分比
0.1 si
软中断请求服务占用的 CPU 百分比
0.0 st
st(steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比
第四行物理内存信息:
KiB Mem : 3733564 total
物理内存的总量,单位为KB
607836 free
空闲的物理内存数量
2438836 used
己经使用的物理内存数量
686892 buff/cache
作为缓冲的内存数量
第五行交换分区(swap)信息:
KiB Swap: 4194300 total
交换分区(虚拟内存)的总大小,单位为KB
2831356 free
空闲交换分区的大小
1362944 used
已经使用的交换分区的大小
985784 avail Mem
作为缓存的交换分区的大小
第六行之后的信息:
PID:进程的 ID。
USER:该进程所属的用户。
PR:优先级,数值越小优先级越高。
NI:优先级,数值越小、优先级越高。
VIRT:该进程使用的虚拟内存的大小,单位为 KB。
RES:该进程使用的物理内存的大小,单位为 KB。
SHR:共享内存大小,单位为 KB。
S:进程状态。
%CPU:该进程占用 CPU 的百分比。
%MEM:该进程占用内存的百分比。
TIME+:该进程共占用的 CPU 时间。
COMMAND:进程的命令名。
缓存(cache)
是在读取硬盘中的数据时,把最常用的数据保存在内存的缓存区中,再次读取该数据时,就不去硬盘中读取了,而在缓存中读取。
缓冲(buffer)
是在向硬盘写入数据时,先把数据放入缓冲区,然后再一起向硬盘写入,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。
简单来说,缓存(cache)是用来加速数据从硬盘中"读取"的,而缓冲(buffer)是用来加速数据"写入"硬盘的。
【例 1】如果只想让 top 命令查看某个进程,就可以使用 “-p 选项”。命令如下:
[root@localhost ~]# top -p 15273
【例 2】快捷杀死进程
[root@localhost ~]# top
界面按k,提示是否杀死进程
PID to signal/kill [default pid = 559] [输入进程pid]
...