写点什么

Linux 系统问题排查

作者:小翁牌坦克
  • 2022 年 2 月 20 日
  • 本文字数:952 字

    阅读完需:约 3 分钟

Linux系统问题排查

top 命令

预习:

系统核数查看

# 总核数 = 物理 CPU 个数 X 每颗物理 CPU 的核数

# 总逻辑 CPU 数 = 物理 CPU 个数 X 每颗物理 CPU 的核数 X 超线程数

# 查看物理 CPU 个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理 CPU 中 core 的个数(即核数)

cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑 CPU 的个数

cat /proc/cpuinfo| grep "processor"| wc -l


关键指标

内存查看

io 查看

命令安装

yum install sysstat

指标描述

%user:CPU 处在用户模式下的时间百分比。

%nice:CPU 处在带 NICE 值的用户模式下的时间百分比。

%system:CPU 处在系统模式下的时间百分比。

%iowait:CPU 等待输入输出完成时间的百分比。>0.5 表示 io 繁忙

%steal:管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比。

%idle:CPU 空闲时间百分比。


备注:

如果 %iowait 的值过高,表示硬盘存在 I/O 瓶颈

如果 %idle 值高,表示 CPU 较空闲

如果 %idle 值高但系统响应慢时,可能是 CPU 等待分配内存,应加大内存容量。

如果 %idle 值持续低于 10,表明 CPU 处理能力相对较低,系统中最需要解决的资源是 CPU


cpu 属性值说明:

tps:该设备每秒的传输次数

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:  读取的总数据量;

kB_wrtn:写入的总数量数据量;

常用命令

每两秒查看下 io 的状态

iostat -d -k 2 

显示 tty 和 Cpu 信息

iostat -t

以 M 为单位显示所有信息

iostat -m

查看设备使用率(%util)、响应时间(await)

#  【-d 显示磁盘使用情况,-x 显示详细信息】

iostat -d -x -k 1 1


rrqm/s:  每秒进行 merge 的读操作数目.即 delta(rmerge)/s

wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s

%util: 一秒中有百分之多少的时间用于 I/O

关注项

如果 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷

svctm 和 %until 差值是队列的大小 越大说明系统出现问题

netstat 常用命令

#监听 8080 端口的外部服务

netstat -antp|grep :8080|sort


#本机的 tcp 连接的连接数状态

netstat -nat|awk '{print $6}'|sort|uniq -c|sort -nr


#每个主机到该主机的连接数

netstat -ntu|awk '{print $5}'|cut -d: -f1|sort|uniq -c |sort -nr


#查看 8080 端口被哪些进程占用

netstat -antp|grep 8080

#查看该进程所监听的端口

netstat -antp|grep {pid}

用户头像

还未添加个人签名 2018.05.03 加入

十年开发老兵,多年搜索及推荐领域技术和业务积累目前主要研究低代码平台设计及开发模式,关注三高架构设计方案及系统实现,微服务治理实践及DDD领域驱动设计方案

评论

发布
暂无评论
Linux系统问题排查