10 | 案例篇:系统的软中断CPU使用率升高,我该怎么办?
案例
- sar 是一个系统活动报告工具,既可以实时查看系统的当前活动,又可以配置保存和报告历史统计数据。
- hping3 是一个可以构造 TCP/IP 协议数据包的工具,可以对系统进行安全审计、防火墙测试等。
- tcpdump 是一个常用的网络抓包工具,常用来分析各种网络问题。
操作和分析
# 运行 Nginx 服务并对外开放 80 端口
$ docker run -itd --name=nginx -p 80:80 nginx
$ curl http://192.168.0.30/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
# -S 参数表示设置 TCP 协议的 SYN(同步序列号),-p 表示目的端口为 80
# -i u100 表示每隔 100 微秒发送一个网络帧
# 注:如果你在实践过程中现象不明显,可以尝试把 100 调小,比如调成 10 甚至 1
$ hping3 -S -p 80 -i u100 192.168.0.30
# top 运行后按数字 1 切换到显示所有 CPU
$ top
top - 10:50:58 up 1 days, 22:10, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 122 total, 1 running, 71 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.0 hi, 3.3 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni, 95.6 id, 0.0 wa, 0.0 hi, 4.4 si, 0.0 st
...PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND7 root 20 0 0 0 0 S 0.3 0.0 0:01.64 ksoftirqd/016 root 20 0 0 0 0 S 0.3 0.0 0:01.97 ksoftirqd/12663 root 20 0 923480 28292 13996 S 0.3 0.3 4:58.66 docker-containe3699 root 20 0 0 0 0 I 0.3 0.0 0:00.13 kworker/u4:03708 root 20 0 44572 4176 3512 R 0.3 0.1 0:00.07 top1 root 20 0 225384 9136 6724 S 0.0 0.1 0:23.25 systemd2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
...
$ watch -d cat /proc/softirqsCPU0 CPU1HI: 0 0TIMER: 1083906 2368646NET_TX: 53 9NET_RX: 1550643 1916776BLOCK: 0 0IRQ_POLL: 0 0TASKLET: 333637 3930SCHED: 963675 2293171HRTIMER: 0 0RCU: 1542111 1590625
# -n DEV 表示显示网络收发的报告,间隔 1 秒输出一组数据
$ sar -n DEV 1
15:03:46 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
15:03:47 eth0 12607.00 6304.00 664.86 358.11 0.00 0.00 0.00 0.01
15:03:47 docker0 6302.00 12604.00 270.79 664.66 0.00 0.00 0.00 0.00
15:03:47 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:03:47 veth9f6bbcd 6302.00 12604.00 356.95 664.66 0.00 0.00 0.00 0.05
- 第一列:表示报告的时间。
- 第二列:IFACE 表示网卡。
- 第三、四列:rxpck/s 和 txpck/s 分别表示每秒接收、发送的网络帧数,也就是 PPS。
- 第五、六列:rxkB/s 和 txkB/s 分别表示每秒接收、发送的千字节数,也就是 BPS。
# -i eth0 只抓取 eth0 网卡,-n 不解析协议名和主机名
# tcp port 80 表示只抓取 tcp 协议并且端口号为 80 的网络帧
$ tcpdump -i eth0 -n tcp port 80
15:11:32.678966 IP 192.168.0.2.18238 > 192.168.0.30.80: Flags [S], seq 458303614, win 512, length 0
...
# 停止 Nginx 服务
$ docker rm -f nginx
小结
10 | 案例篇:系统的软中断CPU使用率升高,我该怎么办?相关推荐
- linux 内核线程 软中断,Linux性能优化实战:系统的软中断CPU使用率升高,我该怎么办?(10)...
一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.g ...
- 系统的软中断CPU使用率升高,该怎么办?
中断是一种异步的事件处理机制,用来提高系统的并发处理能力.中断事件发生,会触发执行中断处理程序,二中断处理程序被分为上半部和下半部这两个部分. 上半部对应硬中断,用来快速处理中断: 下半部对应软中断, ...
- 系统的软中断CPU使用率升高,我该怎么办?
点击关注公众号,利用碎片时间学习 中断是一种异步的事件处理机制,用来提高系统的并发处理能力.中断事件发生,会触发执行中断处理程序,而中断处理程序被分为上半部和下半部这两个部分. 上半部对应硬中断,用来 ...
- linux 使cpu使用率升高_关于linux系统CPU篇---gt;CPU使用率升高
1.CPU使用率为单位时间内CPU使用情况的统计,以百分比的方式展示. LINUX作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运 ...
- RTOS 系统篇-统计任务的 CPU 使用率
RTOS 系统篇-统计任务的 CPU 使用率 概述 RTOS 中可以通过一些函数来统计每个任务使用 CPU 的时间,以及所使用时间占据总时间的比例.比如:系统在一段 100s 的时间内,任务 A 使用 ...
- 软中断CPU使用率高 咋办?
目录 一.中断怎么理解? 二.查看软中断和内核线程 三.软中断CPU使用率高 ? 四.总结 上篇文章<系统中不可中断状态进程和僵尸进程很多怎么办?>中,进程可能会在不可中断状态保持很久,导 ...
- ubuntu篇---系统下查看CPU和GPU温度
ubuntu篇---系统下查看CPU和GPU温度 1. 安装lm-sensors 2. 查看温度 3. 实时查看温度 4. 安装 psensor 5. 打开软件 1. 安装lm-sensors lm- ...
- 九、系统的软中断导致CPU使用率升高,我该怎么办?
案例运行环境 机器配置:2 CPU.8 GB 内存. 预先安装 docker.sysstat.sar .hping3.tcpdump 等工具,比如 apt-get install docker.io ...
- linux 使cpu使用率升高_Linux系统中CPU占用率较高问题排查思路与解决方法
Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行: CPU利用率.根据经验来看,用户空间进程占用CPU比例在 65-70%之间,内核(系统) ...
最新文章
- 香港浸会大学计算机系助理教授招人工智能方向2022年PhD
- HTML5 Audio标签方法和函数API介绍
- centos安装nodejs
- Java高阶部分知识点汇总(三)-基本类型的包装类详讲
- 哈夫曼编解码(C语言)
- 第九章 单处理器调度
- OSPF特殊区域之stub和totally stub配置(二)
- 广度优先搜索算法(Breath-first Search)是如何搜索一张图的?
- Ortholab has been moved to Google Code
- Meanshift and Camshift
- 计算机类知识期刊,计算机类期刊投稿
- SimpleMind 1.27.1 小巧的思维导图工具
- 【局域网音频实时传输、屏幕单播及广播】
- [量化-034]金融哲学-道德经解读-005-“道”是什么
- netcore 开源cms
- 使用广播信道的数据链路层相关知识点
- Python学习D-1
- 【web前端期末大作业】基于html+css+javascript+jquery技术设计的音乐网站(44页)
- 3G QQ客服小密 软件/源码
- 用条件变量(Condition Variable)实现信号量(Semaphore)
热门文章
- qt tcp通信_Qt之网络编程TCP通信
- linux mq发送测试消息,WebSphere MQ测试常用指令
- linux shell zsh,Linux终极shell Z Shell 用强大的zsh oh-my-zsh把Bash换掉
- 商品规格js_品优购电商系统开发 第3章 规格及模板管理
- 5g网络架构_【5G网络架构】系列之二:5G基站—gNodeB。为什么叫gNodeB?取个名而已,需要理由吗?...
- dijkstra算法原理_这 10 大基础算法,程序员必知必会!
- spark-sql执行时报错:
- 你不就是加了 2 行代码,为什么要用 2 天?
- struct类型重定义 不同的基类型_汇总贴:STEP7的复杂数据类型有哪些?
- 服务器2012r2系统远程登陆,服务器2012r2系统远程登陆