首页 > 其他分享 >插件模式 bug优化2

插件模式 bug优化2

时间:2023-03-31 21:32:06浏览次数:39  
标签:插件 加锁 -- cpu strip debug objcopy 优化 bug

目前客户的现象很经典, 某一个核cpu打满了!网卡开启了RSS, 每个work都绑定了一个cpu。

使用strace分析的时候,发现使用总是某一个线程被唤醒,然后这个work一直都在处理io事件。--这个问题原因就是惊群导致。详细就不写了,具体看内核就可知。

主要是应用层的问题:

  由于代码比较老,里面很多代码都是为了规避某些问题而出现。比如很多读写锁,但是很想不通一个配置更新都是各种加锁,难道此时不是应该使用violate 引用计数吗?

虽然多线程不加锁访问共享资源的话要用原子操作,要注意内存屏障和可见性,防止编译器乱优化和其他线程读到CPU缓存。或者参考shared_ptr的维护生命周期的数据块里的弱引用计数??

业务状态机问题:不说了,涉及到业务。

 

临时替换文件时;可以用objcopy来剥离debug信息保存; objcopy --strip-debug ./vmlinux.o ;
objcopy 命令主要是移除和添加符号表及调试信息
编译驱动时,make modules_installs INSTALL_MOD_STRIP=1 ;如果设置了 INSTALL_MOD_STRIP 为 1, 那么 mod_strip_cmd = strip --strip-debug

本文章主要记录内容

  •  业务响应时间:目前还在继续优化中; 怎样提高 建立连接响应速度?已经业务处理及时响应?

http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子



标签:插件,加锁,--,cpu,strip,debug,objcopy,优化,bug
From: https://blog.51cto.com/u_15404950/6162465

相关文章

  • idea常用插件
    GrepConsole在启动应用时或调试时,IDEA控制台输出一大堆日志,想要快速找到自己需要类型的日志是很麻烦的,此时使用此插件可以快速定位到自己想要的类型日志,比如TRACE、DEBUG等,也可以单独打开标签页显示自己需要的日志,日志分类也可以配置自己喜欢的颜色。stackoverflow程序员......
  • 关于lib-flexible插件中的单位转换
    lib-flexible是淘宝项目组开发出来的一个小插件,属于开源项目。一般而言,lib-flexible并不独立出现,而是搭配px2rem-loader一起做适配方案,目的是自动将css中的px转换成rem。lib-flexible:根元素html的font-size为此时屏幕宽度/10,也就有1rem=html的font-size大小。1.但是当分辨率(屏......
  • 研发端的软件主要是针对研发过程进行优化和管理的软件
    研发端的软件主要是针对研发过程进行优化和管理的软件,可以包括以下模块:实验室信息管理系统:用于实验室管理和实验数据的记录、分析和报告生成。研发计划管理系统:用于研发项目的计划、任务和进度管理。产品开发管理系统:用于新产品的开发、测试、审核和批准流程管理。文......
  • 使用Apipost自动化测试工具来优化测试流程
    随着项目研发进程的不断推进,软件功能不断增多,对于软件测试的要求也越来越高。为了提高测试效率和减少测试成本,许多软件测试团队借助于自动化测试工具来优化测试流程。Apipost也提供了自动化测试工具,在本文中,我们将探讨如何借助Apipost自动化测试工具来优化测试流程。Apipost......
  • AI视频智能分析平台EasyCVR设备录像功能细节优化
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等(具体见下图)。平台丰富的视频能力包括:视频监控直......
  • eclispe freemarker ide 插件安装
    首先打开jbossTools的下载页面 http://www.jboss.org/tools/download/进入到此页面,看到图上的红色框吗?这里的链接是安装jbosstools http://download.jboss.org/jbosstools/updates/stable/juno/好了,打开eclipse  好了,你点OK后,左则就会提示一系列jbosstools的eclipse插......
  • ppp拨号管理线路--自动检查默认脚本--优化版本1
    #!/bin/bashPppCheck(){ppp_interfaces=$(ipr|grep-o"\<ppp[0-9]\+\>"|awk-F'ppp''{print$2}'|sort-n|uniq|awk'BEGIN{ORS=""}{print"ppp"$NF}')forifacein$ppp_in......
  • vue3 - 在单独的项目制作自定义组件插件,支持vite【前提不要使用webpack专属语法】
    1.背景与vue2组件不一样,没有那么随意,如果想要支持vite,那么不要使用webpack专属语法,如defide和 require等2.解决在 package.json文件属性  main配置为插件入口文件位置,至于是js还是ts随意 目录  简单做了个组件  入口文件内容如下importComponentf......
  • 使用SpringBoot异步方法优化报销单查询接口,提高接口响应速度
    合理使用异步方法可以提高接口性能。异步方法适用于逻辑与逻辑之间可以相互分割互不影响的业务中。SpringBoot支持异步方法调用。具体用法:在启动类添加@EnableAsync注解,声明开启异步方法在异步方法添加@Async注解,被@Async注解修改的方法由SpringBoot默认线程池(SimpleAsyncTas......
  • Asp.Net Framework项目优化前端文件引用
    背景:公司一个老项目,前端引用都是直接引用文件,这样导致每次发布都存在用户浏览器缓存问题,常见做法是找到每个引用前端文件处加?version,但是太麻烦了解决思路:1.找到所有前端文件2.jenkins每次编译更新版本号,把新的版本号拼接到前端文件引用处实现:1.首先在扩展类里面扩展以......