
内核+性能问题
文章平均质量分 85
嵌入式Jerry
《Yocto项目实战教程》作者
世界500强资深嵌入式软件工程师
运行技术平台“嵌入式Jerry”(B站,CSDN和公众号)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
B站视频课程- Valgrind: Memcheck 内存检测
【性能分析工具 - Valgrind: Memcheck 内存检测课程-哔哩哔哩】 https://b23.tv/zKFQAOR。原创 2025-07-22 11:38:05 · 1156 阅读 · 0 评论 -
Valgrind Cachegrind 全解析:用缓存效率,换系统流畅!
摘要: 本文深入解析Valgrind的Cachegrind工具,揭示缓存效率对程序性能的关键影响。通过对比行列优先访问二维数组的示例(bad_cache.c与good_cache.c),演示缓存未命中率差异:列优先访问导致一级数据缓存未命中暴涨8倍。文章详解D1/LLd misses等核心指标,列举UI卡顿、高耗电等实际场景的缓存问题表现,并提供行主序访问、避免链表等优化技巧。Cachegrind能量化分析代码与CPU的交互,是性能调优的必备工具,文末附常用命令速查表。(148字)原创 2025-07-21 18:01:11 · 963 阅读 · 0 评论 -
UI 程序退出卡顿问题分析:从真实案例深入理解退出清理路径负载问题
摘要:本文分析了UI程序退出时的卡顿问题,通过一个C++多线程项目案例,揭示了"清理路径"负载过重导致延迟的原因。使用strace和perf工具定位到后台线程阻塞(如epoll_wait、futex等)导致主线程join()卡顿。提出三种优化方案:事件触发唤醒、带超时的条件变量、主线程不等待子线程(不推荐)。文章还列举了Chromium和ROS2中的类似案例,建议为线程设计可中断机制,避免主线程阻塞,并使用工具精准定位卡顿路径。该问题多被误判为图形性能问题,值得开发者重视。 (字数:15原创 2025-07-19 17:30:17 · 652 阅读 · 0 评论 -
内存踩踏全解析:原理 + 实战案例 + 项目排查技巧
《内存踩踏全解析:原理+实战案例+项目排查技巧》摘要 内存踩踏是嵌入式系统开发中常见的危险问题,可能导致系统崩溃或安全隐患。文章从原理入手,解析了栈溢出、堆溢出等典型内存踩踏类型及其破坏机制,并通过两个真实案例(memcpy越界和释放后使用)演示问题现象与排查过程。提供了valgrind、ASAN等工具的使用建议,总结出边界检查、安全函数替代等预防措施。最后回答了五个关键问题,强调规范内存访问的重要性。文章配有代码示例和排查工具对比表,适合开发者系统掌握内存踩踏的识别与防范方法。 (字数:149)原创 2025-07-11 20:58:34 · 1194 阅读 · 0 评论 -
USB数据丢包真相:为什么log打印会导致高频USB数据丢包?
摘要: 在高频USB数据采集场景中,log打印(如print或UI显示)常导致严重丢包。根本原因是主机程序处理能力不足:CPU因GIL和线程切换被log操作独占,I/O延迟和UI刷新阻塞数据接收线程,导致缓冲区溢出。解决方案包括:1)异步处理,使用队列隔离数据采集与log;2)降低UI刷新频率;3)批量处理日志;4)分层架构避免I/O阻塞采集线程。通过优化线程和队列管理,可实现高效稳定的USB数据传输。 (字数:149)原创 2025-07-11 20:20:14 · 948 阅读 · 0 评论 -
嵌入式开发中的实战 KGDB 调试教程(附概念解析与面试问答)
本文介绍了嵌入式开发中KGDB内核调试工具的使用方法。主要内容包括:KGDB的定义与工作原理,在嵌入式场景中的应用价值,内核配置与调试流程,以及驱动调试实战示例。文章还提供了典型问题解决方案和面试常见问题解答,强调KGDB相比printk等工具在定位内核崩溃、驱动开发等问题时的优势。最后建议开发者掌握KGDB与GDB的结合使用,并配合其他工具进行系统性能分析。原创 2025-07-04 17:10:42 · 1059 阅读 · 0 评论 -
嵌入式系统卡顿问题的系统资源层全景分析
本文针对嵌入式系统卡顿问题,从系统资源层进行全面分析,重点以医疗监护仪项目为例。文章将系统资源层卡顿源分为CPU、内存、存储I/O、内核调度和进程管理五大类,详细分析各类问题的现象、原因及优化方法。通过监护仪典型案例(如高阶页分配失败导致页面卡死、CPU满载引发波形掉帧等),演示了如何定位和解决资源瓶颈问题。最后提出包括预分配内存池、优化调度策略、调整内核参数等最佳实践建议,为嵌入式系统性能优化提供系统性解决方案。原创 2025-07-03 18:55:05 · 902 阅读 · 0 评论 -
利用 perf 与 ftrace 精准定位项目卡顿问题 —— 从现象到本质的分析思路
卡顿” ≠ “程序挂了”,而是响应时间异常变长。UI点击后迟钝(> 200ms)页面切换过程中黑屏或空白停顿动画播放掉帧、不流畅这些现象通常是因为系统资源(CPU、内存、锁、调度等)在短时间内无法满足当前需求,导致执行延迟。每次切换 UI 页面时重新 malloc 图像缓冲区(1MB),首次访问触发大量缺页异常。内存碎片过多,分配大块页帧困难,内核进入碎片整理路径。原创 2025-07-03 18:35:26 · 892 阅读 · 0 评论 -
嵌入式Linux系统内存占用率高的原因、后果与防控全解析
《嵌入式Linux系统内存占用率高的原因、后果与防控全解析》深入剖析了嵌入式设备内存问题的根源与解决方案。文章从硬件层面(成本限制、芯片资源内耗)和软件层面(内存泄漏、缓存管理不善、系统服务过多)分析高内存占用的成因,并列举系统卡顿、进程被kill等严重后果。作者提出一套完整的实战方法论:通过监控工具定位问题,结合硬件选型优化、系统裁剪、开发规范等预防措施。特别强调要区分buff/cache与真实内存占用,并推荐了valgrind等诊断工具。最后推荐《Yocto项目实战教程》作为系统优化参考。全文150字,原创 2025-06-21 15:33:20 · 1011 阅读 · 0 评论