![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
调试调优
文章平均质量分 61
关于系统调试调优方面的思考和经验总结
龙赤子
15年开发猿,linuxer,分享经验,获得快乐. LCCZ_QRS
展开
-
不可盲目优化,否则不是缘木求鱼就是南辕北辙
说难,是因为同所有的行业一样,从良好到优秀,是一个量变到质变的过程,难度就会递增,而从优秀到卓越,更是一种突破,不是努努力就可以达到的。我估算了一下,周期为20纳秒的时钟,一个存储地址的访问,很容易到百纳秒级别,这样1K的空间,少说就需要几十微妙,CPU把时间耗在这里,自然没时间干别的事情。通过查资料,分析代码,包括分析汇编验证,确定CPU支持浮点协处理器,也就是指令级别支持浮点运算的,编译选项中也支持了浮点的相关选项,所以,转整形其实没有什么必要(这一点,大家在实际中可以查看生成的汇编代码来确认)。原创 2023-06-18 21:46:06 · 220 阅读 · 0 评论 -
嵌入式Linux开发调优之一:系统与内核
内核稳定性验证的一些思考原创 2021-01-23 18:52:15 · 1376 阅读 · 7 评论 -
Linux段错误常见原因总结
Linux下段错误的几种可能原因做Linux开发,调试阶段经常可能遇到段错误,也就是日志中出现 Segment Fault,下面对造成段错误的几种原因做总结,方便有的放矢,有针对性的快速查找定位问题。段错误大部分都是内存使用出错造成的1 使用大的数据结构体作为函数的本地变量,在函数调用嵌套层次较多的情况下可能导致堆栈出错2 内存数据拷贝,指针使用出错,比如不需要加取地址符号却添加了,需要添加时又没有添加3 memcpy两个buffer的大小不一致4 malloc分配释放不匹配5 打印中包含原创 2021-01-10 12:40:30 · 1572 阅读 · 1 评论 -
Linux性能分析方法和工具
大家在日常开发中,遇到系统性能问题或者调优程序时,通常都使用什么工具或者从何处入手?这个问题,很多时候会变成一个经验感觉问题。有经验的开发人员,在被各种问题虐待千百遍后,大脑里自然会建立各种复杂的回路,以便在遇到新问题时,能够快速检索,从而快速定位问题原因。但是,对于新手而言,好的方法就显得特别重要了。下面这幅图不少开发人员可能见到过:上图中完整包含了CPU、内存、网络、磁盘、系统库、系统调用等不同层次的分析方法和分析工具。这是一个叫Brendan Gregg的人分享的“Linux性能分原创 2021-03-09 19:23:54 · 148 阅读 · 0 评论 -
嵌入式Linux开发调优之二:应用程序
上一节中我们简单概述了系统与内核层面的调优。其实,在这一层面,大部分开发人员涉及的工作并不多。通常情况下,我们拿到的内核基本是稳定的,基础的系统应用也多是第三方开源成熟的,所以,并不会对内核和系统进行大的修改。相反,产品开发中,多是与业务相关的应用开发,所以这一节我们重点总结下应用的优化方法。当然了,都是程序,运行原理基本一致,很多应用程序的优化方法,对内核和系统应用也是适用的。1 通过top命令查看CPU占用高的线程,找到要优化的目标程序。如上节所说,有时候系统运行变慢,不一定是CPU占用...原创 2021-01-24 20:17:36 · 194 阅读 · 0 评论