文章目录
一、sbrk 内存分配系统调用代码示例
二、在 /proc/pid/maps 中查看进程堆内存详情
本篇博客调用 sbrk 系统调用函数 , 申请并修改 堆内存 , 并在 /proc/pid/...maps 中查看该进程的 堆内存 ;
一、sbrk 内存分配系统调用代码示例
----
sbrk 系统调用函数 , 作用是 修改程序 BSS 段大小 ;
函数原型如下 :
#include <unistd.h..., 保证进程一直存活 ;
// 此处死循环阻塞, 方便查看 /proc/pid/maps 中的信息
// 进程退出后 , 进程相关内存信息也会同时销毁
while (1);
完整代码示例..., 指针始终没有改变 , 一直都是 0x203e000 地址 ;
如果使用新的指针 p_new 接收 sbrk 系统调用返回的堆内存指针 , 则分配的是新的地址 ;
二、在 /proc/pid/maps...中查看进程堆内存详情
----
在上一节 , 已经打印出进程的 PID 为
4829
, 根据该 PID , 可以直接获取该进程的内存情况 ,
执行
cat /proc/4829/maps
命令