银河麒麟高级服务器操作系统adb读写缓慢问题分析

1.问题环境

处理器:

HUAWEI Kunpeng 920 5251K

内存:

512 GiB

整机类型/架构:

 TaiShan 200K (Model 2280K)

BIOS版本:

Byosoft Corp.  1.81.K

内核版本

4.19.90-23.15.v2101.ky10.aarch64

第三方应用

数据库

2.问题描述

数据库业务运行过程中,发现读写速度缓慢,软中断占用cpu过高。

目前环境已经恢复需要排查原因,数据库读写慢的时候发现软中断占用cpu很高,图一是出现问题的时候现场直接在环境上看的,从sosreport上面看并不高,但是收集日志的时候问题现象还在。

docker这些包用的不是系统自带源的,开了numa,irqbalance服务是正常运行的,其中perf.data.old太大了 打不开,perf.data可以,系统日志中没发现异常,内存也正常,其中cpu可以看到部分核心使用率很高的情况。

3.问题分析

3.1.分析系统环境

3.1.1. 查看网络配置

查看网络情况,enp133s0f0和enp134s0f0配置mode4组成bond0。

查看./sos_commands/networking/ethtool_-S_enp133s0f0和./sos_commands/networking/ethtool_-S_enp134s0f0,发现两个网卡都存在大量的rxX_cache_full的情况。

查看bond0的rxDrop情况。

查看enp133s0f0和enp134s0f0网卡队列情况和ring buffer个数,两个网卡的网卡队列数为63,ring buffer个数为1024。

查看./proc/net/softnet_stat发现第二列和第三列都存在很大的值,查看对应的内核参数net.core.netdev_max_backlog为10000和net.core.netdev_budget为300。

  • 第一列:processed:表示处理了多少个数据包。
  • 第二列:dropped:表示丢弃了多少个数据包,因为队列满了或者内存不足。
  • 第三列:time_squeeze:表示发生了多少次时间压缩,即软中断处理时间超过了预设的限制。

/proc/net/softnet_stat 的第三列值持续增加,这通常意味着软中断处理时间不足以处理所有入站数据包。在这种情况下,可以尝试增加 net.core.netdev_budget 的值,以允许在单次软中断中处理更多的数据包,从而减少因为处理不及时而推迟或丢弃的数据包数量。

3.1.2. 查看系统服务

发现irqbalance服务开启状态。

3.1.3 .查看CPU情况

可见CPU是96核,分4个NUMA节点,每个numa节点24个CPU核。

查看./sys/class/net/enp133s0f0/device/numa_node和./sys/class/net/enp134s0f0/device/numa_node,可见两个网络接口都在numa node 2上。

3.2 .分析sa日志

3.2.1. 分析内存使用情况

sar -rh -f sa21,查看当时的内存使用情况,可见空闲内存较少,缓存较大。查看./proc/sys/vm/min_free_kbytes为524288,较小。

sar -rh -f sa20,查看前一天的内存使用情况,内存使用和问题发生时相同。

3.2.2. 分析CPU使用情况

sar -u -f sa21,查看cpu使用情况,%system部分占用CPU较高。

sar -u -f sa20,查看前一天的CPU使用情况,前一天cpu使用情况和问题发生时类似。

3.2.3. 分析负载情况

sar -q -f sa21,查看当时的系统负载,负载偏高。

 sar -q -f sa20,查看前一天的系统负载情况,可见前一天的系统负载也偏高,和问题发生时没有明显差异。

3.3. 分析messages日志

查看messages日志,日志中没有明确的报错信息。

3.4 分析perf采集

4.问题小结

1、根据CPU核数及NUMA情况,结合网卡的所属numa节点,建议调小网卡队列数,调大网卡的ring buffer。

2、根据查看的./proc/net/softnet_stat情况,第三列的增加表明了软中断处理时间的不足,而 net.core.netdev_budget 参数的调整可以帮助提高在一个软中断周期内可以处理的数据包数量,从而改善性能。建议将net.core.netdev_budget调为1024。

3、发现irqbalance服务开启状态,建议关闭irqbalance服务。

5.相关建议

ethtool -L  enp133s0f0 combined 24
ethtool -L  enp134s0f0 combined 24
ethtool -G  enp133s0f0 rx 8196 tx 8196
ethtool -G  enp134s0f0 rx 8196 tx 8196
ethtool -K  enp133s0f0 lro on
ethtool -K  enp134s0f0 lro on

echo "net.core.netdev_budget=1024" >> /etc/sysctl.conf
sysctl -p

systemctl disable irqbalance --now

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/310802.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化高级技术Echarts(桑基图入门)

目录 一、什么是桑基图 二、基本特征 三、设计注意事项 四、使用Echarts进行初级绘制 1.首先不能忘记五个基本步骤 2.绘制的时需要将图像类型series.type设定为sankey类型。 一、什么是桑基图 桑基图(Sankey diagram),即桑基能量分流图&…

【高录用-快速见刊】2024年数字化经济与金融创新国际学术会议(ICDEFI 2024)

会议简介 2024年数字经济与金融创新国际学术会议即将召开。此次会议旨在汇集全球数字经济与金融创新领域的专家学者,共同探讨数字经济的发展趋势以及金融创新的路径。与会者将分享前沿研究成果,讨论数字技术在金融领域的应用与创新,并推动数…

主线程捕获子线程异常

正常情况下使用多线程出现异常时,都是按照单个任务去处理异常,在线程间不需要通信的情况下,任务之间互不影响,主线程也不必知道子线程是否发成异常。 那么只需要处理子线程异常即可 Task.Run(() > {try{throw new Exception(&…

OpenHarmony轻量系统开发【2】源码下载和开发环境

2.1源码下载 关于源码下载的,读者可以直接查看官网: https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes 本文这里做下总结: (1)注册码云gitee账号。 (2)注册码云SSH公钥…

112 arcpy 发布 mxd地图文件 到 arcgis服务器 为 地图服务

前言 此文档主要是记录一下 最近的一次机遇 arcpy 来发布 地图文件到 arcgis服务器 上面 arcpy 主要是来自于 ArcGIS_Desktop_105_154030.zip 安装之后会在 python 的安装目录 安装另外的一份带 arcgis 的 python 环境, 然后 本文相关类库 也是基于 这个 arcpy 的 python 环境…

jenkins(docker)安装及应用

jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解…

【算法刷题 | 回溯思想 04】4.15(分割回文串)

文章目录 7.分割回文串7.1题目7.2解法:回溯7.2.1回溯思路(1)函数返回值以及参数(2)终止条件(3)遍历过程 7.2.2代码 7.分割回文串 7.1题目 给你一个字符串 s,请你将 s 分割成一些子…

【蓝桥·算法双周赛 第 9 场 小白入门赛】盖印章【算法赛】题解(数学+解方程)

思路 考虑到题目中的规则,每个印章图案的边必须和网格图边重合,网格图上的每一个格子最多只能被一个印章图案覆盖,印章的图案在网格图上必须是完整的。这意味着每个印章图案都会覆盖一个独立的、完整的区域,且这些区域不会相互重…

OpenHarmony实战开发-页面深色模式适配。

介绍 本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下: 1. 固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值…

Linux网络基础(一)

网络发展 对于我们国家来讲,网络的发展,不仅仅是互联网公司在发展,提供重要推动力的还有三大运商 随之而来的是新设备的诞生。比如集线器,网线,光纤,调制解调器,路由器,防火墙&am…

Nginx转发请求错误

说明:记录一次使用Nginx转发请求的错误; 场景 公司内部有两台服务器都跑了后端项目,在使用Nginx做请求分发时,我发现其中有台服务器一直没有处理请求(没打印相关的日志信息),于是我修改了下Ng…

NVIDIA全系列GPU技术路线演进分析

NVIDIA GPU 架构梳理 近期深入研究并行计算,需探究底层硬件精髓。高性能计算界,英伟达显卡稳居霸主地位。本文旨在梳理NVIDIA GPU架构之演进历程,助您洞悉其技术脉络,把握未来计算趋势。 目录: NVIDIA GPU架构历经数次…

代码随想录Day41:动态规划Part3

Leetcode 343. 整数拆分 讲解前: 毫无头绪 讲解后: 这道题的动态思路一开始很不容易想出来,虽然dp数组的定义如果知道是动态规划的话估摸着可以想出来那就是很straight forward dp定义:一维数组dp[i], i 代表整数的值&#xf…

WEB前端-笔记

目录 一、字体 二、背景图片 三、显示方式 四、类型转换 五、相对定位 六、绝对定位 七、固定定位 八、Index 九、粘性定位 十、内边距 十一、外边距 十二、边框 十三、盒子尺寸计算问题 十四、清楚默认样式 十五、内容溢出 十六、外边距的尺寸与坍塌 十七、行…

构建高效可靠的Zabbix监控系统

前言 监控系统对于确保系统稳定性、性能优化以及故障排除至关重要。zabbix 作为一款功能强大且灵活的监控解决方案,可以通过一个友好的界面进行浏览整个网站所有服务器状态、在 web 前端方便查看数据以及可以回溯事故时的问题和告警。 目录 一、zabbix 监控介绍 …

electron打包编译国产统信uos系统 arm架构 x86架构 linux mac等环境

electron v21版本以上统信UOS会提示gbm_bo_map错误,可使用v8~v21版本的electron 打包linux包需要再linux系统下运行编译,arch可以指定架构 如果要在统信uos上运行,需要打包成deb格式,在target中修改成deb 或者用第三方软件把app…

建立时间/保持时间为负是什么情况

目录 建立时间为负保持时间为负参考 在说明建立时间和保持时间为何为负的情况下,首先可以看看建立时间Tsu和保持时间Th的由来,可参考如下两篇文章: 建立时间和保持时间理解_为什么要满足建立时间和保持时间-CSDN博客 ic基础|时序篇&#xff…

基于Springboot的旅游管理系统

基于SpringbootVue的旅游管理系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页展示 旅游方案展示 旅游资讯 后台管理员登录 后台管理页面首页 用户管理 …

全流程HEC-RAS 1D/2D水动力与水环境模拟技术应用

水动力与水环境模型的数值模拟是实现水资源规划、环境影响分析、防洪规划以及未来气候变化下预测和分析的主要手段。然而,一方面水动力和水环境模型的使用非常复杂,理论繁复;另一方面,免费的水动力和水环境软件往往缺少重要功能&a…

MyBatis 中的动态 SQL 的相关使用方法

为什么会有动态SQL,把SQL写死不是比较方便吗?其实有很多的举例,这里我那一个常见的来说,像我们用户注册,会有必填字段和非必填字段,有些传来的参数不一样,那对应的SQL也不一样,因此&…