Linux系统有哪些常用于排查问题的命令?

提问者:Rae 问题分类:运维
Linux系统有哪些常用于排查问题的命令?
6 个回答
披起头发是娇弱
披起头发是娇弱
进程级分析
1、pidstat(需安装 sysstat )
用途: 监控进程的 CPU、内存、I/O。
示例:
pidstat -d -p 1234 1  # 监控 PID 1234 的磁盘 I/O
2、strace
用途: 跟踪进程的系统调用和信号。
示例:
strace -p 1234 -T  # 跟踪 PID 1234 的调用耗时
发布于:2个月前 (03-14) IP属地:四川省
霸占丶迩德
霸占丶迩德
网络性能分析
1、iftop(需安装)
用途: 实时监控网络连接带宽。
示例:
sudo iftop -i eth0  # 指定网卡监控
2、nethogs(需安装)
用途: 按进程统计网络流量。
示例:
nethogs eth0  # 查看指定网卡流量
3、ss
用途: 替代 netstat,快速查看连接和端口状态。
示例:
ss -tunlp  # 显示所有 TCP/UDP 连接及进程
4、tcpdump
用途: 抓包分析网络流量(需 root 权限)。
示例:
tcpdump -i eth0 port 80  # 抓取 HTTP 流量
发布于:2个月前 (03-14) IP属地:四川省
曾经多难忘
曾经多难忘
磁盘性能分析
1、iostat(需安装 sysstat)
用途: 监控磁盘吞吐量、延迟和利用率。
示例:
iostat -xz 1  # 查看详细 I/O 统计
2、iotop(需安装)
用途: 按进程实时显示磁盘 I/O 活动。
安装:
sudo apt install iotop  # Debian/Ubuntu
示例:
iotop -o  # 仅显示活跃 I/O 进程
3、blktrace(需安装)
用途: 深度跟踪块设备 I/O 请求(调试磁盘性能瓶颈)。
示例:
blktrace -d /dev/sda -o trace  # 跟踪 sda 设备
发布于:2个月前 (03-14) IP属地:四川省
泛白的记忆使沉迷
泛白的记忆使沉迷
内存性能分析
1、free
用途: 快速查看内存和 Swap 使用量。
示例:
free -h  # 以 GB/MB 显示
2、vmstat
用途: 综合监控内存、Swap、进程队列和 I/O。
示例:
vmstat 1  # 每秒刷新一次
3、smem(需安装)
用途: 按进程统计实际物理内存占用(USS/PSS/RSS)。
安装:
sudo apt install smem  # Debian/Ubuntu
示例:
smem -u  # 按用户统计内存
4、slabtop
用途: 分析内核 Slab 缓存(内核对象占用内存)。
示例:
slabtop -s c  # 按缓存大小排序
发布于:2个月前 (03-14) IP属地:四川省
剪段光缓缓流淌
剪段光缓缓流淌
CPU性能分析
1、Top
用途: 实时监控 CPU、内存及进程资源消耗。
快捷键:
shift + P:按CPU使用率排序
shift + M:按内存使用率排序
示例:
top -c  # 显示完整进程命令行
2、htop (需安装)
用途: 增强版 top,支持鼠标操作、多核负载可视化。
安装:
sudo apt install htop  # Debian/Ubuntu
示例:
htop  # 查看线程级 CPU 使用
发布于:2个月前 (03-14) IP属地:四川省
命中不缺狗
命中不缺狗
3、mpstat (需安装 sysstat )
用途: 监控多核 CPU 各核心利用率。
示例:
mpstat -P ALL 1  # 每秒刷新所有核心状态
4、perf
用途: 深入分析 CPU 性能事件(如函数热点、缓存命中率)。
示例:
perf top       # 实时查看 CPU 热点
perf record -g # 生成火焰图数据
5、sar(需安装 sysstat)
用途: 长期记录 CPU 使用率、上下文切换等。
示例:
sar -u 1 5  # 查看过去 5 秒 CPU 使用率
发布于:2个月前 (03-14) IP属地:四川省
我来回答