资源名称:嵌入式Linux 内存使用与性能优化
内容简介:
本书主要讲述嵌入式系统开发中的两个难点:系统的内存使用与系统性能优化。
关于系统的内存使用,本书试图完成两项任务:①增加系统整体的空闲内存数量,从而提高进程的并发能力;②使系统在长时间运行后,仍然能够保持较高数量的空闲内存。本书所讲述的内存使用,不是Linux内核的内存管理,而是在用户层观察进程是如何使用内存的。
关于系统性能优化,本书不同于同类书侧重编程语法或者发挥硬件性能的做法,而是着眼于大型软件项目性能优化实践,阐明了逻辑优化与代码优化的辩证关系,提出了软件优化层次的概念。针对代码优化,阐述了代码优化的境界,为代码优化指明了研究方向。对于编程过程中的一些常用元素,通过查看汇编代码的方式,阐述了其性能上的差别。
本书适合嵌入式系统开发人员阅读,也可供有一定经验的C/C++程序员和Linux程序员参考。
资源目录:
出版说明
前言
第一篇 内存使用
第1章 内存的测量
1.1 系统当前可用内存
1.2 进程的内存使用
1.2.1 虚拟内存与物理内存
1.2.2 /proe/(pid)
1.2.3 内存回收
第2章 进程内存优化
2.1 执行文件
2.1.1 堆段
2.1.2 栈
2.1.3 环境变量及参数
2.1.4 ELF文件
2.1.5 数据段
2.1.6 代码段
2.1.7 使用Thumb指令
2.2 动态库
2.2.1 数据段
2.2.2 代码段
2.2.3 动态库的优化
2.3 静态库
2.4 线程
2.4.1 设置进程栈空间
2.4.2 设置线程栈空间
2.4.3 减少线程的数量
2.5 共享内存
第3章 系统内存优化
3.1 守护进程的内存使用
3.2 tmpfs分区
3.3 Cache和Buffer
3.4 内存回收
3.5 /proc/sys/vrn/优化
第4章 内存泄漏
4.1 是否有内存泄漏
4.2 mtrace
4.3 malloc与free钩子函数
4.4 栈的回溯
4.5 化整为零法
4.6 Dmalloc
4.7 Valgrtnd
第二篇 软件性能优化
第5章 性能优化的流程
5.1 性能评价
5.2 性能优化的流程
5.3 性能的评测
5.4 性能分析
第6章 进程启动速度
6.1 查看进程的启动过程
6.2 减少加载动态库的数量
6.3 共享库的搜索路径
6.4 动态库的高度
6.5 动态库的初始化
6.6 动态链接
6.7 提高进程启动速度
6.8 进程冷起与热起的区别
第7章 性能优化的方法
7.1 寻找程序热点
7.1.1 gprof
7.1.2 OProfile
7.2 程序逻辑瓶颈
7.3 优化的层次
7.4 何时开始性能优化
7.5 如何推动系统性能优化
7.6 为什么软件性能会低下
……
第8章 代码优化的境界
第9章 系统性能优化
附录 GCC常用编译选项
参考文献
资源截图:
嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自Gravatar。