摘要: 。。。 申请内存时,得到指针ptr = mem,将指针ptr赋值给 pBuff1和pBuff2,假设先释放pBuff1,且mem所在的chunk的前一个chunk是空闲状态,则两个chunk合并,再次释放pBuff2时,mem为非法地址,导致失败。 阅读全文
posted @ 2022-05-16 17:02 墨尔基阿德斯 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 一、linux的内存布局 1、32位模式下内存的经典布局​ 图1 32位模式下内存经典布局 ​ 注:这种内存布局模式是linux内核2.6.7以前的默认内存布局形式 说明: (1)在32的机器上,loader将可执行文件的各个段次依次载入到从0x80048000(128M)位置开始的空间中。程序能够 阅读全文
posted @ 2022-05-16 15:32 墨尔基阿德斯 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/weixin_45574485/article/details/113104362 堆基础 堆简介 (部分参考与libc源码) 不同的平台有不同的堆内存管理机制,比如: 管理机制对应的相关的平台 dlmalloc General purpose al 阅读全文
posted @ 2022-05-16 14:52 墨尔基阿德斯 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看。 majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。 发成缺页中断后,执行 阅读全文
posted @ 2022-05-16 14:41 墨尔基阿德斯 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/initphp/article/details/50833036 目录 一、内存布局 二、ptmalloc内存管理器 1. 设计假设 2. 主分配区和非主分配区 3. chunk 内存块的基本组织单元 4. 内存分配malloc流程 5. 内存释放f 阅读全文
posted @ 2022-05-16 14:21 墨尔基阿德斯 阅读(279) 评论(0) 推荐(0) 编辑