Linux -vmstat、top

vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。

vmstat 最常用的有两个数字参数,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如果不写就是一直采样下去。

下面是使用 make -j10 编译时输出的报告:
复制代码

procs ———–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 4944468 261552 2525348 0 0 0 2 1 5 0 0 99 0 0
0 0 0 4944840 261552 2525348 0 0 0 48 359 176 1 0 99 0 0
0 0 0 4944584 261552 2525348 0 0 0 0 60 38 0 0 100 0 0
10 0 0 4885292 261552 2525360 0 0 0 0 7369 582 59 30 11 0 0
10 0 0 4868388 261552 2525424 0 0 0 0 8101 485 69 30 0 0 0

复制代码

字段说明详见 man vmstat ,如下:

Procs(进程):

r: 运行队列中进程数量

b: 等待IO的进程数量,即阻塞的进程

Memory(内存):

swpd: 虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

Swap:

si: Amount of memory swapped in from disk (/s).

so: Amount of memory swapped to disk (/s).

IO:(现在的Linux版本块的大小为1024bytes)

bi: 每秒读取的块数

bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。

cs: 每秒上下文切换数。

CPU(以百分比表示):

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间)

wa: 等待IO时间

top:

可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。
常用热键 用途
t 显示摘要信息开关.
m 显示内存信息开关.
A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗多的任务。
f 添加删除所要显示列.
o 调整所要显示列的顺序.
r 调整一个正在运行的进程Nice值.
k 结束一个正在运行的进程.
z 彩色/黑白显示开关                                      
1 单CPU显示开关  
H      显示线程
x 高亮显示排序的列
y   高亮显示正在运行的任务
z 彩色、黑白显示
Z   选择颜色模板(a或 w来调整,回车确定)
N 按PID排序
M 按内存使用排序
P 按CPU使用排序
<(>) 以当前排序列的左边(或右边)列进行排序
R 反向排序

PR (Priority):即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高。

NI (Nice value):Nice值,其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。在UNIX系统或者LINUX系统中,使用从-20到+19的一个可变数值来表示这个nice值。

uptime 命令主要用于获取主机运行时间和查询linux系统负载等信息。

依次显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

08:00:30 up 5 days, 1:29, 2 users, load average: 0.08, 0.05, 0.08

free 命令

         total       used       free     shared    buffers     cached

Mem: 8160468 2470356 5690112 0 240448 1866024
-/+ buffers/cache: 363884 7796584
Swap: 0 0 0

对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。从应用程序的角度来说,可用内存= free buffers+cached = total-used

pmap 命令可以显示进程的内存映射,使用这个命令可以找出造成内存瓶颈的原因。

while true; do pmap -d 3066 | tail -1; sleep 2; done

mapped: 11952K writeable/private: 248K shared: 0K
mapped: 11952K writeable/private: 248K shared: 0K
mapped: 11952K writeable/private: 248K shared: 0K

你可能感兴趣的:(Linux -vmstat、top)