加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

该从这几类去解析Linux问题故障

发布时间:2023-09-13 13:10:39 所属栏目:Linux 来源:
导读: CPU对于应用程序来说,内核CPU调度器功能和性能是最容易受到关注的。而线程状态的分类一般分为:a. on-CPU:执行中,执行中的时间通常又分为用户态时间user和系统态时间sys。b. off-CPU:等待下一轮上CPU,或者等待

 CPU

对于应用程序来说,内核CPU调度器功能和性能是最容易受到关注的。而线程状态的分类一般分为:

a. on-CPU:执行中,执行中的时间通常又分为用户态时间user和系统态时间sys。

b. off-CPU:等待下一轮上CPU,或者等待I/O、锁、换页等等,其状态可以细分为可执行、匿名换页、睡眠、锁、空闲等状态。

如果大量时间花在CPU上,对CPU的剖析能够迅速解释原因;如果系统时间大量处于off-cpu状态,定位问题就会费时很多。

//查看系统cpu使用情况

top

//查看所有cpu核信息

mpstat -P ALL 1

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

vmstat 1

//进程cpu的统计信息

pidstat -u 1 -p pid

//跟踪进程内部函数级cpu使用情况

perf top -p pid -e cpu-clock

 内存

内存出现问题可能不只是影响性能,而是影响服务或者引起其他问题,

//查看系统内存使用情况

free -m

//虚拟内存统计信息

vmstat 1

//查看系统内存情况

top

//1s采集周期,获取内存的统计信息

pidstat -p pid -r 1

//查看进程的内存映像信息

pmap -d pid

//检测程序内存问题

valgrind --tool=memcheck --leak-check=full --log-file=./log.txt ./程序名

 磁盘IO

磁盘通常是计算机最慢的子系统,也是最容易出现性能瓶颈的地方,因为磁盘离 CPU 距离最远而且 CPU 访问磁盘要涉及到机械操作,比如转轴、寻轨等。

//查看系统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

 网络

网络的监测是所有 Linux 子系统里面最复杂的,有太多的因素在里面,比如:延迟、阻塞、冲突、丢包等,

//显示网络统计信息

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

系统负载

//查看负载情况

uptime

top

vmstat

//统计系统调用耗时情况

strace -c -p pid

//跟踪指定的系统操作例如epoll_wait

strace -T -e epoll_wait -p pid

//查看内核日志信息

dmesg

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章