硬件结构-中断
什么是中断?什么是软中断?如何定位软中断CPU使用率过高的问题?什么是同步?什么是异步?
软中断类型
Linux中软中断包括:网络收发,定时,调度,RCU锁等类型。
cat /proc/softirq:观察软中断的累计中断次数;watch -d cat /proc/softirq:实时查看中断次数的变化率;
软中断CPU使用率过高问题
- 判断是否是软中断CPU使用率过高问题:
通过 top命令,查看CPU使用情况,如果CPU在软中断上的使用率比较高,并且占据CPU使用率的主导地位,可以断定出现了软中断CPU使用率过高的问题。
- 分析是哪种软中断类型导致的:
使用 watch -d cat /proc/softirq命令查看所有软中断类型的中断次数变化率,变化率高并且快的中断类型即为要找的类型。
- 以Web服务器为例,当发现
NET_RX网络接受中断的变化速率相比其他快很多:- 定位网卡:使用
sar -n DEV查看网卡的网络包接收率情况,定位具体网卡; - 定位来源:使用
tcpdump抓包分析包的来源,如果是合法地址,考虑硬件升级,如果是非法地址,考虑增加防火墙;
- 定位网卡:使用
硬件结构-中断
http://example.com/2025/05/12/OperatingSystem/硬件结构-中断/