标签搜索

系统性能分析工具

mrui
2024-03-04 / 0 评论 / 52 阅读 / 正在检测是否收录...

cpu

top

 top -b -n 1 | awk 'NR==3'
 %Cpu(s):  3.0 us,  0.0 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
# us 用户空间占用CPU百分比
# sy 内核空间占用CPU百分比
# ni 用户进程空间内改变过优先级的进程占用CPU百分比
# id 空闲CPU百分比,例如:77.1%id
# wa 等待输入输出的CPU时间百分比
# hi CPU服务于硬件中断所耗费的时间总额
# si CPU服务软中断所耗费的时间总额
# st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)

htop

# 系统默认没有安装该命令,需要先安装
yum -y install htop

ltcapp2h.png

vmstat

ltcb8ac5.png

类别参数含义说明
procs进程r等待执行的任务数展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。
b等待IO的进程数量
memory内存swpd正在使用虚拟的内存大小,单位k
free空闲内存大小
buff已用的buff大小,对块设备的读写进行缓冲
cache已用的cache大小,文件系统的cache
inact非活跃内存大小,即被标明可回收的内存,区别于free和active当使用-a选项时显示
active活跃的内存大小当使用-a选项时显示
swapsi每秒从交换区写入内存的大小(单位:kb/s)
so每秒从内存写到交换区的大小
iobi每秒读取的块数(读磁盘)块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes
bo每秒写入的块数(写磁盘)块设备每秒发送的块数量,单位是block
systemin每秒中断数,包括时钟中断这两个值越大,会看到由内核消耗的cpu时间sy会越多
cs每秒上下文切换数每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目
cpuus用户进程执行消耗cpu时间(user time)us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了
sy系统进程消耗cpu时间(system time)sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足
ld空闲时间(包括IO等待时间)一般来说 us+sy+id=100
wa等待IO时间wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

内存

free

 free -h| awk 'NR==2{print "内存大小:"$2"\t已经使用:"$3"\t剩余内存大小:"$4}'

ltccfwxj.png

top

ltccj01e.png

vmstat

见上文

硬盘

df

ltcckzv1.png

iotop

yum -y install iotop

ltccu8u3.png

参数描述
-o只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换
-b非交互式下运行,一般用来记录日志
-n设置监控(显示)次数,主要用于非交互式,默认无限
-d设置显示的间隔秒数,支持非整数
-p只显示指定进程(PID)的信息
-u显示指定用户的进程信息
-P只显示进程,不显示所有线程
-a累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题
-k显示使用KB单位
-t非交互模式下,加上时间戳
-q只在第一次监测时显示列名. 去除头部一些行:这个参数可以设置最多3次来移除头部行:-q列头部只在最初交互显示一次;-qq列头部不显示;-qqq,I/O的总结不显示

vmstat

见上文

网络流量

iftop

yum -y install iftop

点击查看该命令的具体用法
用法示例

iftop -i eth0 -nNB -m 10M
#-i 指定网卡
#-n 代表主机通过ip显示不走DNS
#-N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查)
#-B 指定显示单位为Kb,默认是bit,太小!
#-m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示

ltcddtj6.png

iptraf

yum -y install iptraf
iptraf-ng -d eth0

ltcdjelc.png

网络连接

netstat与ss

一般用法: ss -ntulp | grep xxx

进程

ps

top

一般用法:ps -ef: 显示系统中所有进程的列表,包括其他用户的进程
ps -aux: 显示详细的进程信息,包括CPU和内存使用情况等

ps -ef | grep <进程名>:查找指定进程名的进程。
ps -ef | grep -v grep | grep <用户>:查找指定用户的进程。
ps -ef --forest:以树形结构显示进程和它们的父进程。
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head:按内存使用率排序显示前几个进程的信息。
0

评论

博主关闭了当前页面的评论