openeuler一个服务异常占用cpu的排查过程

2024-06-22 22:20

本文主要是介绍openeuler一个服务异常占用cpu的排查过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 环境

硬件环境:LS1046A   arm64 

系统环境:openEuler release 22.03 (LTS-SP1)  +  Linux kernel 4.19.26

2 问题说明

我的硬件平台需要适配一下 openEuler release 22.03 (LTS-SP1) 但是目前只能使用原来硬件平台的内核,在适配的过程中,发现 一个内核线程始终占用一个cpu资源。

 3 问题排查

perf top  显示如下

频繁调用的几个函数,使用ftrace 都没有看到具体有用的调用栈。

perf record -F 99 -p 3006 -g -- sleep 60perf report -n --stdio

从linux内核代码里看是 rht_deferred_worker 在处理哈希表类似的工作,但是具体看不到是哪个

 通过排除法,stop服务 或者 ps aux 后kill掉可疑程序发现 是firewalld.service造成的。

kill掉程序或者禁掉 firewalld.service  故障现象就消失了。

查看服务的状态如下:

● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor>Active: active (running) since Wed 2024-06-19 09:15:58 CST; 1min 4s agoDocs: man:firewalld(1)Main PID: 4840 (firewalld)Tasks: 2 (limit: 101666)Memory: 38.6MCGroup: /system.slice/firewalld.service└─ 4840 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid6月 19 09:15:57 localhost systemd[1]: Starting firewalld - dynamic firewall dae>
6月 19 09:15:58 localhost systemd[1]: Started firewalld - dynamic firewall daem>
6月 19 09:16:00 localhost firewalld[4840]: ERROR: 'python-nftables' failed: internal:0:0-0: Error: Could not process rule: No such file or directoryinternal:0:0-0: Error: Could not process rule: No such file or directoryinternal:0:0-0: Error: Could not process rule: No such file or directoryinternal:0:0-0: Error: Could not process rule: No such file or directoryinternal:0:0-0: Error: Could not process rule: No such file or directoryinternal:0:0-0: Error: Could not process rule: No such file or directory

4 解决办法

修改

/etc/firewalld/firewalld.conf

将 

FirewallBackend=nftables

 改为

FirewallBackend=iptables

这篇关于openeuler一个服务异常占用cpu的排查过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085579

相关文章

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排