Linux常用的排查cpu、io、网络、内存常用的工具

1、cpu

工具描述
uptime平均负载
vmstat包括系统范围的cpu平均负载
mpstat查看所有cpu核信息
top监控每个进程cpu用量
sar -u查看cpu信息
pidstat每个进程cpu用量分解
perfcpu剖析和跟踪,性能计数分析

说明:

  • uptime,vmstat,mpstat,top,pidstat只能查询到cpu及负载的的使用情况。
  • perf可以跟着到进程内部具体函数耗时情况,并且可以指定内核函数进行统计,指哪打哪。

使用方式

//查看系统cpu使用情况
top

//查看所有cpu核信息
mpstat -P ALL 1

//查看cpu使用情况以及平均负载
vmstat 1

//进程cpu的统计信息
pidstat -u 1 -p pid

//跟踪进程内部函数级cpu使用情况
perf top -p pid -e cpu-clock

2、分析内存

工具描述
free缓存容量统计信息
vmstat虚拟内存统计信息
top监视每个进程的内存使用情况
pidstat显示活动进程的内存使用统计
pmap查看进程的内存映像信息
sar -r查看内存
dtrace动态跟踪
valgrind分析程序性能及程序中的内存泄露错误

说明

  • free,vmstat,top,pidstat,pmap只能统计内存信息以及进程的内存使用情况。
  • valgrind可以分析内存泄漏问题。
  • dtrace动态跟踪。需要对内核函数有很深入的了解,通过D语言编写脚本完成跟踪。

使用方式

//查看系统内存使用情况
free -m

//虚拟内存统计信息
vmstat 1

//查看系统内存情况
top

//1s采集周期,获取内存的统计信息
pidstat -p pid -r 1

//查看进程的内存映像信息
pmap -d pid

//检测程序内存问题
valgrind --tool=memcheck --leak-check=full --log-file=./log.txt  ./程序名

3、io分析

工具描述
iostat磁盘详细统计信息
iotop按进程查看磁盘IO的使用情况
pidstat按进程查看磁盘IO的使用情况
perf动态跟踪工具

使用方式

//查看系统io信息
iotop

//统计io详细信息
iostat -d -x -k 1 10

//查看进程级io的信息
pidstat -d 1 -p  pid

//查看系统IO的请求,比如可以在发现系统IO异常时,可以使用该命令进行调查,就能指定到底是什么原因导致的IO异常
perf record -e block:block_rq_issue -ag
^C
perf report

4、网络分析

工具描述
ping主要透过 ICMP 封包 来进行整个网络的状况报告
traceroute用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具
netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
ss可以用来获取socket统计信息,而且比netstat更快速更高效
host可以用来查出某个主机名的 IP,跟nslookup作用一样
tcpdump是以包为单位进行输出的,阅读起来不是很方便
tcpflow是面向tcp流的, 每个tcp传输会保存成一个文件,很方便的查看
sar -n DEV网卡流量情况
sar -n SOCK查询网络以及tcp,udp状态信息

使用方式

//显示网络统计信息
netstat -s

//显示当前UDP连接状况
netstat -nu

//显示UDP端口号的使用情况
netstat -apu

//统计机器中网络连接各个状态个数
netstat -a | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

//显示TCP连接
ss -t -a

//显示sockets摘要信息
ss -s

//显示所有udp sockets
ss -u -a

//tcp,etcp状态
sar -n TCP,ETCP 1

//查看网络IO
sar -n DEV 1

//抓包以包为单位进行输出
tcpdump -i eth1 host 192.168.1.1 and port 80 

//抓包以流为单位显示数据内容
tcpflow -cp host 192.168.1.1

5、系统负载

工具描述
top查看系统负载情况
uptime查看系统负载情况
strace统计跟踪内核态信息
vmstat查看负载情况
dmesg查看内核日志信息

使用方式

//查看负载情况
uptime

top

vmstat

//统计系统调用耗时情况
strace -c -p pid

//跟踪指定的系统操作例如epoll_wait
strace -T -e epoll_wait -p pid

//查看内核日志信息
dmesg

内容来自https://www.jianshu.com/p/0bbac570fa4c

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值