内存监控
vmstat 命令该命令可以实时动态监测系统虚拟内存、进程、cpu的活动,默认情况首先需要安装sysstat软件包,可以用命令安装。
[root@dujm0 ~]# yum install sysstat
[root@dujm0 ~]# vmstat 3 6
输出项含义如下:
procs进程
swpd:使用虚拟内存大小free:可用内存大小buff:缓冲内存大小cache:缓存内存大小swap
si:每秒从交换区写到内存的大小so:每秒写入交换区的内存大小IO
bi:每秒读取的块数bo:每秒写入的块数system
in:每秒中断数,包括时钟中断。cs:每秒上下文切换数cpu(百分比)
us:用户进程执行时间sy:系统进程执行时间id:空闲时间wa:等待IO时间
cpu监控
vmstat命令只能显示cpu总的性能情况,对于有多个cpu的计算机,如果要查看每个cpu的性能情况,可以使用mpstat命令命令场景举例:查看多核cpu当前运行情况信息,每3秒更新。
[root@dujm0 ~]# mpstat -P all 2
其中各输出项的含义如下:
%user:在间隔时间段里,用户态的cpu时间,不包含nice值为负数的进程。
%nice:在间隔时间段里,nice值为负进程的cpu时间。
%sys:在间隔时间段里,内核时间。
%iowait:在间隔时间段里,硬盘IO等待时间。
%irq:在间隔时间段里,硬中断时间。
%idle:在间隔时间段里,cpu除了等待磁盘IO操作以外其他原因而导致空闲时间。
磁盘监控
iostat命令可以查看cpu利用率和磁盘性能等相关数据,有时候系统响应慢,数据传输也慢,很可能是磁盘已经损坏了,所以IO是一个重要的性能分析指标。命令场景举例:显示磁盘整体状态信息。
[root@dujm0 ~]# iostat -d -x
## 常用参数 d 只显示磁盘利用率、c只显示cpu利用率 、x显示扩张统计
其中各输出项的含义如下:
r/s:每秒向磁盘发起的读操作数。
w/s:每秒向磁盘发起的写操作数。
rkb/s:每秒从磁盘读出数据总数,单位KB。
wkb/s:每秒从磁盘写入数据总数,单位KB。
rrqm/s:每秒合并到设备的读请求数。
wrqm/s:每秒合并到设备的写请求数。
await:IO请求的平均等待时间,单位毫秒。
%util:处理IO请求所占用时间百分比,即设备利用率,当这个值接近100%时候,表示磁盘已经饱和。
综合监控
top命令是linux下常用的性能分析工具,能够实时显示系统各个进程的占用资源情况,top是一个动态显示过程,可以不断刷新当前状态。类似win中的任务管理器。命令场景举例:显示系统当前信息。
[root@dujm0 ~]# top
第一行:记录系统当前时间和开机经过多少时间,当前用户数,load average则表示系统1分钟,5分钟,15分钟cpu负载信息。
第二行:task:任务 ,total表示总进程数,running表示正在进行的进程数,sleep表示睡眠进程数,stopped表示停止的进程数,zombie表示僵死的进程数。
第三行:%cpu,显示cpu总体信息,单位百分比。其中us表示用户态进程占用cpu时间百分比;sy表示内核占用cpu百分比;ni表示改变过优先级进程占用cpu时间百分比;id表示空闲cpu时间百分比;wa表示等待cpu时间百分比;hi表示cpu中断时间百分比;si表示cpu中断时间百分比。
第四行:mem(内存),total表示物理内存总量;used使用物理的内存量;free表示空闲物理内存量;buffers表示内核缓存物理内存量。
第五行:swap(交换空间),total表示交换区总量;userd表示使用的交换区总量;free空闲的交换区量;avail Mem表示可用内存空间。
再下面就是具体的进程信息了
pid :进程号
user:进程所有者。
pr:进程优先级,值越小,优先级越大
ni:值
virt:进程占用的虚拟内存
res:进程占用的物理内存
shr:进程使用的共享内存。
s:进程状态,s表示休眠,R表示正在运行,Z表示僵死,N表示优先级为负数。
%MEM:进程使用物理内存占总内存百分比。
TIME+:进程启动后占用总cpu时间。
command:进程启动命令名字。
好了,如果本文对你有用,请加关注!!谢谢