一、vmstat
vmstat是linux/unix上一个监控工具,能展示给定时间间隔的服务器的状态,包括操作系统的内存信息,CPU使用状态、进程信息等。
语法:
vmstat [-V] [delay [count]] #-V 打印出vmstat工具的版本信息 #delay 设置两次输出的时间间隔 #count 设置总共输出的次数
对输出参数进行讲解
procs
r:运行进程数(即真正分配到cpu的进程数量),如果该值长期大于系统逻辑cpu的数量,表示cpu不足
b:表示阻塞的进程数
memory
swpd:表示正在使用的虚拟内存的多少
free:表示当前空闲的物理内存的大小
buff:表示当前使用的buffers的大小
cached:表示当前使用的cached的大小
buffers和cached的区别: ①buffers和cached都是内存的一部分 ②buffers是内存与磁盘之间的,当对磁盘进行读写操作时,内存先将数据缓存到buffers中,然后再写入磁盘;cached是cpu和内存之间的,cached是缓存读取过的内容,下次再读时,如果在缓存中命中,则直接从缓存读取,否则读取磁盘。
swap
si:表示从磁盘读入到虚拟内存的大小
so:表示从虚拟内存写入到磁盘的大小
如果si和so长期不为0,表示系统内存不足;而如果swpd的值长期不为0,但si和so的值长期为0,则无需担心
io
bi:表示从磁盘读取数据的总量
bo:表示写入磁盘的数据总量
system
in:表示系统中断数
cs:表示每秒产生的上下文切换次数
in和cs的值越大,内核消耗cpu时间越大
cpu
us:用户进程消耗的cpu时间所占百分比
sy:内核进程消耗的cpu时间所占百分比
id:cpu空闲状态的时间百分比
wa:表示IO等待所占用的cpu时间百分比
us+sy+id=100
----------------------------------------------------------------------------------------------------------------------------------------
二、sar命令
sar命令可以获取系统的cpu、磁盘、内存、网络运行状态等信息
常见用法有
注意要点:
-u表示查看系统cpu整体的使用状态,-P可以分开查询每个cpu的使用情况,其中对cpu的计数是从0开始的
--------------------------------------------------------------------------------------------------------------------------------
三、iostat
可以对系统磁盘的IO操作进行监控,同时也可以输出显示cpu的使用情况
语法:
iostat options [interval [count]]
options | 说明 |
-c | 显示cpu的使用情况 |
-d | 显示磁盘的使用情况 |
-k | 表示以KB为单位显示数据 |
-x device | 指定要统计的磁盘设备 |
KB_read/s:表示每秒读取的数据块数量
KB_wrtn/s:表示每秒写入的数据块数量
KB_read:表示总共读的数据块数量
KB_wrtn:表示总共写的数据块数量
-----------------------------------------------------------------------------------------------------------------------
四、netstat
可以显示网络连接、端口状态和路由表等信息
语法:netstat [options]
常见option | 说明 |
-a | 显示所有的连接和监听的端口 |
-r | 显示路由信息 |
-t | 显示tcp连接 |
-u | 显示udp连接 |
-l | 显示连接状态为LISTEN的连接 |
-p |
显示连接对应的PID |
-n | 以IP和端口的形式显示连接 |
比较常见用法:
netstat -plnt netstat -puln netstat -r
------------------------------------------------------------------------------------------------------------------------------------
五、free
监控linux内存的使用情况
---------------------------------------------------------------------------------------------------------------------------
六、uptime
可以查看系统的启动时长和cpu的负载情况
系统现在时间 启动时长 登录用户数量 1分钟内的平均负载 5分钟内的平均负载 15分钟内的平均负载
注意:load average的三个输出值如果大于系统逻辑cpu数量时,表示cpu繁忙,会影响系统性能
-------------------------------------------------------------------------------------------------------------------------