【发布时间】:2018-05-28 03:49:18
【问题描述】:
我正在开发一个软件库,它可以持续跟踪用 C/C++ 编写的程序的堆内存大小。
我想做的如下。
void check_memory(){
heap_size = get_process_heap_size(.....);
if(heap_size>=upper_bound){
//do something to reduce the heap size
heap_size = get_process_heap_size(.....);
}
}
C/C++中有没有系统调用相当于上面代码中的get_process_heap_size()?
【问题讨论】:
-
@Scheff 阅读提供的链接我不明白如何解决 OPs 问题。你能详细说明一下吗?
-
@Scheff,malloc 使用 brk 和 mmap 分配。
-
在我的 linux 上:/proc/self/maps,self 指的是正在获取该文件的文件描述符的进程。
标签: c++ c memory-management operating-system heap-memory