嵌入式Linux优化
1. cat /proc/meminfo 得知内存状况
2. 写时分配,malloc时尚未分配,strcpy或其他操作时再予分配
3. cat /proc/<pid>/statm 得知进程的内存页面状况
#cat /proc/6277/statm
6020 2253 1602 78 0 458 0
虚空间 物理内存 共享页数 可执行虚存大小 被映像到任务的虚存空间库大小 程序数据段及用户态栈大小
4. cat /proc/<pid>/maps 看各地址对应的文件/动态库( 代码段-只读可执行,堆段-可读写,栈段-向上增长至0xC00000000 )
5. cat /proc/<pid>/memmaps( cat /proc/<pid>/smaps ) 看虚存对应物理内存状况
6. malloc得到的ptr之前4个字节系chunk结构,包括前一块的大小,自身大小,标志位
7. 标志位关注上一块正在被使用与否,或是否通过mmap分配得到
8. 一次malloc分配至少16字节,8字节对齐,分配20字节的话会得到24字节
9. glibc中,1G以内空间的管理由brk负责,大于1G则由mmap方式负责
10. 对小块内存将不去尝试合并
11. 小块内存的定义可由#include <malloc.h> int mallopt(int param, int value) 定义
12. param 通常取值为M_MXFAST,缺省值为64
相关推荐
InfiniteIdeaGo 2020-09-16
knightwatch 2020-08-03
生活随笔 2020-07-15
ykmail 2020-06-23
secondid 2020-05-27
阿债的方寸天地 2020-04-30
hongsheyoumo 2020-04-29
伏雌摘星阁 2020-04-14
linuxisperfect 2020-03-06
tvk 2020-02-19
dongfangxiaozi 2020-02-17
jiangtie 2020-02-09
圆圆的世界CSDN 2020-01-30
jiangtie 2020-01-17
iamplane 2020-01-08
zmjzhangmj 2020-01-05
安得情怀似旧时 2019-12-16
Antech 2019-12-15