文章目录
一、top – 实时显示系统运行状态二、htop – 互动的进程查看器三、vmstat – 显示虚拟内存状态四、dstat – 全能系统信息统计工具五、glances – 高层次的多子系统概览六、sar – 系统运行状态统计总结 相关文章一、top – 实时显示系统运行状态
top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。运维工程师们常常会把top命令比作是“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息以外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态,非常适合作为接手服务器后执行的第一条命令。
动态查看进程信息,并且可以查看到系统负载,内存,CPU等使用情况。
语法格式
top [参数]
常用参数
常用交互参数
P:以CPU的使用资源排序显示M:以内存的使用资源排序显示N:以pid排序显示T:由进程使用的时间累计排序显示k:给某一个pid一个信号。可以用来杀死进程r:给某个pid重新定制一个nice值(即优先级)q:退出top(用ctrl+c也可以退出top)。
参考实例
以默认格式显示系统运行信息:
[root@root ~]# toptop - 02:48:56 up 20 min, 1 user, load average: 0.00, 0.00, 0.04Tasks: 432 total, 1 running, 431 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 sMiB Mem : 1966.1 total, 172.1 free, 1339.3 used, 454.7 buff/cacheMiB Swap: 2048.0 total, 2033.5 free,14.5 used. 443.4 avail Mem PID USERPR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND 2848 root20 0 177712 28820 7700 S 6.2 1.4 0:01.31 sssd_kcm 1 root20 0 244748 14180 9052 S 0.0 0.7 0:01.10 systemd2 root20 0 000 S 0.0 0.0 0:00.01 kthreadd ………………省略部分输出信息………………
以默认格式显示系统运行信息,但提供完整的进程路径及名称:
[root@root ~]# top -c
以批处理模式显示程序信息:
[root@root ~]# top -b
设定每隔5秒刷新一次信息:
[root@root ~]# top -c -d 5
设定总显示次数为3回,随后自动退出命令:
[root@root ~]# top -n 5
top -p: 指定pid 多个pid以‘逗号’分开,只显示指定pid进程的状态
[root@root ~]# top -c -p 5112,8891
字段解析
load average: 0.00, 0.01, 0.05
系统1分钟,5分钟,15分钟平均负载
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us 用户态CPU
sy 内核态CPU
ni 优先级
id 空闲的CPU
wa 等待输入输出设备的CPU
hi 硬中断
si 软中断
st 虚拟化占用CPU资源
KiB Mem : 995896 total, 487280 free, 121580 used, 387036 buff/cache
total 总内存空间
free 空闲内存
used 已使用内存
buff 写缓冲 解决空间问题
cache 读缓存 解决速率问题
top进程信息
如下图
进程参数含义
推荐使用
top&& top -c&&top -c -p pid(,pid)
二、htop – 互动的进程查看器
htop是linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。htop比较人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
htop相比较top的优势有可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行、在启动上比top更快、杀进程时不需要输入进程号、支持鼠标选中操作、top已不再维护。
htop相当于top的升级版,监控界面是彩色的。
语法格式
htop [参数]
常用参数
非交互式是直接输入命令的时候加上参数,而交互式是htop进入监测后使用的。
非交互式参数
交互式参数
参考实例
启动htop:
[root@root ~]# htop
以单色模式启动htop:
[root@root ~]# htop -C
设置显示更新的延迟为3秒:
[root@root ~]# htop -d 3
显示一个给定的用户的进程:
[root@root ~]# htop -u linuxcool_user
三、vmstat – 显示虚拟内存状态
vmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。
语法格式
vmstat [参数]&&vmstat [参数] [时间间隔] [执行次数]
常用参数
参考实例
显示活动内页:
[root@root ~]# vmstat -a
显示启动后创建的进程总数:
[root@root ~]# vmstat -f
显示slab信息:
[root@root ~]# vmstat -m
头信息仅显示一次:
[root@root ~]# vmstat -n
以表格方式显示事件计数器和内存状态:
[root@root ~]# vmstat -s
显示指定的硬盘分区状态:
[root@root ~]# vmstat -p /dev/sda1
指定状态信息刷新的时间间隔为1秒:
[root@root ~]# vmstat 1
指定状态信息刷新的时间间隔为2秒刷新3次:
[root@root ~]# vmstat 2 3
字段解析
[root@root ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 35896 445256 520 487496 271 2091 622 2119 129 127 1 1 97 0 0
1.procs
r 表示等待执行的任务数,当一段时间内这个数值一直超过CPU数说明当前系统出现CPU瓶颈;
b 表示等待IO的进程数量。
2.memory
swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器;
free 空闲的物理内存的大小;
buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存;
cache 直接用来记忆我们打开的文件,给文件做缓冲。
3.swap
si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉;
so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
4.io
bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte;
bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
5.system
in 每秒中断数,包括时钟中断;
cs 表示每秒上下文切换;
这两个值越大,会看到由内核消耗的cpu时间会越多。
6.cpu
us 用户CPU时间;
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁;
id 空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率;
wa 等待IO CPU时间;
st 等待IO CPU时间。
四、dstat – 全能系统信息统计工具
dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。
语法格式
dstat [参数]
常用参数
参考实例
分别显示cpu、disk、net、page、system信息:
[root@root ~]# dstat
每三秒收集一次 cpu、disk、net、page、system 信息 :
[root@root ~]# dstat 3
显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息 :
[root@root ~]# dstat -c
显示磁盘读写数据大小 :
[root@root ~]# dstat -d
显示网络状态:
[root@root ~]# dstat -n
五、glances – 高层次的多子系统概览
Glances是一个相对比较新的系统监控工具,用 Python 编写的,使用 psutil 库从系统获取信息。可以用它来监控 CPU、平均负载、内存、网络接口、磁盘 I/O,文件系统空间利用率、挂载的设备、所有活动进程以及消耗资源最多的进程。Glances 有很多有趣的选项。它的主要特性之一是可以在配置文件中设置阀值(careful小心、warning警告、critical致命),然后它会用不同颜色显示信息以表明系统的瓶颈。
语法格式
glances [参数]
常用参数
参考实例
192.168.10.2 主机启动 glances 服务:
[root@root ~]# glances -s -B 192.168.10.2 &
从另一台主机查看 192.168.10.2 主机的系统负载状态:
[root@root ~]# glances -c 192.168.10.2
显示网络连接速度 Byte/ 秒:
[root@root ~]# glances -b
设置屏幕刷新的时间间隔为6秒:
[root@root ~]# glances -t 6
六、sar – 系统运行状态统计
sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计、数器显示到标准输出设备。
sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等
语法格式
sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
常用参数
参考实例
使用-R参数显示内存信息:
[root@root ~]# sar -R
使用-b参数显示I/O速率:
[root@root ~]# sar -b
使用-u参数显示CPU利用率:
[root@root ~]# sar -u
使用-d参数查看每块磁盘的使用信息
[root@root ~]# sar -d
使用-i参数和-f参数设置状态信息1秒刷新一次并记录5次
[root@root ~]# sar -i 1 -f 5
总结
相关文章
💻【Linux】之【CPU】相关的命令及解析[lscpu、mpstat]
💻【Linux】之【内存】相关的命令&&解析以及内存相关的问题[free、meminfo、内存泄漏、内存溢出、Overcommit]
💻【Linux】之【磁盘】相关的命令及解析[df、du、iostat、iotop]
💻【Linux】之【网络】相关的命令及解析[ethtool、nload、nethogs、iftop、iptraf、ifstat]
💻【Linux】综合性命令及解析【top、htop、vmstat、dstat、glances、sar】
💻【Linux】系统如何查看服务器带宽及网络使用情况