【问题处理】银河麒麟操作系统实例分享,adb读写缓慢问题分析

news2024/12/30 2:08:53

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.coloradmin.cn/o/1607500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OCP Java17 SE Developers 复习题14

答案 C. Since the question asks about putting data into a structured object, the best class would be one that deserializes the data. Therefore, ObjectInputStream is the best choice, which is option C. ObjectWriter, BufferedStream, and ObjectReader are no…

karpathy build make more --- 2

1 Introduction 用多层神经网络实现更复杂一点名字预测器。 2 方案 采用两层全连接层,中间采用tanh作为激活函数,最后一层用softmax,loss用cross-entropy. 2.1 实施 step1: 生成输入的字符,输入三个字符,输出一个字符. 采用了…

java的spring循环依赖、Bean作用域等深入理解

前言 通过之前的几篇文章将Spring基于XML配置的IOC原理分析完成,但其中还有一些比较重要的细节没有分析总结,比如循环依赖的解决、作用域的实现原理、BeanPostProcessor的执行时机以及SpringBoot零配置实现原理(ComponentScan、Import、Impo…

推荐一款websocket接口测试工具

网址:Websocket在线测试-Websocket接口测试-Websocket模拟请求工具 http://www.jsons.cn/websocket/ 很简单输入以ws开后的网址就可以了 这个网址是你后台设置的 如果连接成功会砸提示框内显示相关字样,反之则不行

python爬虫之爬取携程景点评价(5)

一、景点部分评价爬取 【携程攻略】携程旅游攻略,自助游,自驾游,出游,自由行攻略指南 (ctrip.com) import requests from bs4 import BeautifulSoupif __name__ __main__:url https://m.ctrip.com/webapp/you/commentWeb/commentList?seo0&businessId22176&busines…

U.2 NVMe全闪存储阵列在高性能计算环境中的表现

用户利用高性能计算 (HPC) 先进的计算技术来执行大规模的复杂计算任务。这有助于短时间内解决复杂问题,与传统计算方法相比遥遥领先。Infortrend 存储解决方案专门针对密集型 HPC 工作负载进行了优化。新推出的U.2 NVMe全闪存储阵列GS 5024UE在0.3毫秒的延迟下提供1…

镭速助力企业集成OIDC实现安全高效的大文件数据传输

在当今数字化时代,企业尤其是科研机构、研究所和实验室等,对于大量敏感数据的传输安全和效率有着日益增长的需求。面对这一挑战,企业需要一种既能保障数据传输安全,又能提高传输效率的解决方案。镭速,作为一款面向企业…

【C++学习】C++4种类型转换详解

这里写目录标题 🚀C语言中的类型转换🚀为什么C需要四种类型转换🚀C强制类型转换🚀static_cast🚀**reinterpret_cast**🚀const_cast与volatile🚀dynamic_cast 🚀C语言中的类型转换 在…

buuctf——[ZJCTF 2019]NiZhuanSiWei

buuctf——[ZJCTF 2019]NiZhuanSiWei 1.绕过file_get_contents()函数 file_get_contents函数介绍 定义和用法 file_get_contents() 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射…

【opencv】示例-videocapture_starter.cpp 从视频文件、图像序列或连接到计算机的摄像头中捕获帧...

/** * file videocapture_starter.cpp * brief 一个使用OpenCV的VideoCapture与捕获设备,视频文件或图像序列的入门示例 * 就像CV_PI一样简单,对吧? * * 创建于: 2010年11月23日 * 作者: Ethan Rublee * * 修改于: 2013年4月17日 * …

【笔记】十分钟学会正确的github工作流,和开源作者们使用同一套流程

对视频十分钟学会正确的github工作流,和开源作者们使用同一套流程的记录,方便自己回顾和使用。 注1:一个分支 只有一个人在进行 注2: main和master是不同时期对主分支的命名,两者是同一个东西。如果项目已经有了&#…

将MySQL数据库导入到EA模型的教程

将MySQL数据库导入到EA 1.下载安装mysql-connector-odbc2.在管理工具中新增ODBC数据源3.在EA中新建项目4.链接MYSQL数据源4.1 安装64位的ODBC驱动可能出现”在连接ODBC 时发生错误,请相关检查设置“的提示,卸载后重新安装32位ODBC驱动后可以正常执行 5.导…

【1577】java网吧收费管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 网吧收费管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

唠一唠,氮化镓和普通快充的不同

充电器,对于手机、电脑、平板等电子产品来说,就是“生命之源”。没有它,这些设备就像鱼儿离开了水。 过去数十年,充电器市场一直在不断变革。从最早的座插式,到后来的一体式、万能充、分离式直充、快充、无线充,再到现在的氮化镓充电器,技术的更新换代快得让人眼花缭乱。 那么…

SQL Server 2022 安装及使用

SQL Server 2022 前言一、安装SQL Server 2022下载SQL Server 2022安装SQL Server 2022配置SQL Server 2022 二、安装SQL Server Management Studio下载SQL Server Management Studio安装SSMS-Setup-CHS 三、使用SQL Server 2022四、解决连接到服务器报错问题 前言 SQL Serve…

Jmeter 性能-内存溢出问题定位分析

1、堆内存溢出 ①稳定性压测一段时间后,Jmeter报错,日志报: java.lang.OutOfMemoryError.Java heap space ②用jmap -histo pid命令dump堆内存使用情况,查看堆内存排名前20个对象。 看是否有自己应用程序的方法,从…

C++Primer3.2 标准类型string

文章目录 初始化string对象读写string对象string的empty和size操作不同string对象的比较string的加法处理string对象的字符遍历string中的每个字符 初始化string对象 //string的初始化 void test01() { string s1; // 默认初始化&am…

YOLOv8改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(包含C2f创新改进,解决低FLOPs陷阱)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制,这个论文中介绍了一个名为ParameterNet的新型设计原则,它旨在在大规模视觉预训练模型中增加参数数量,同时尽量不增加浮点运算(FLOPs),所以本文的DynamicConv被提出…

AIoT人工智能物联网之deepstream

1.deepstream介绍安装 deepstream是一个很强大的工具集,能够执行数据收集、数据预处理、视频追踪、编码等功能 (1)deepstream docker 版本查询 网页查询 https://catalog.ngc.nvidia.com/containers (2)下载 deepstream docker 对应 版本 https://catalog.ngc.nvidia.c…

【微信公众平台】扫码登陆

文章目录 前置准备测试号接口配置 带参数二维码登陆获取access token获取Ticket拼装二维码Url编写接口返回二维码接收扫描带参数二维码事件编写登陆轮训接口测试页面 网页授权二维码登陆生成ticket生成授权地址获取QR码静态文件支持编写获取QR码的接口 接收重定向参数轮训登陆接…