如何确定为我的程序保留了多少虚拟内存

How to determine how much virtual memory left for my program?

本文关键字:多少 虚拟内存 保留 程序 何确定 我的      更新时间:2023-10-16

我遇到了一个bad_alloc()异常。然后我附加了 gdb 并调用 malloc_stats() :

Arena 0:
system bytes     =  171241472
in use bytes     =  171061480
Arena 1:
system bytes     =     335872
in use bytes     =     334296
Total (incl. mmap):
system bytes     = 1532186624
in use bytes     = 1532005056
max mmap regions =         44
max mmap bytes   = 1561939968

竞技场 0 ,1 是什么意思?这是否意味着我用尽了所有的记忆?这是否意味着我肯定有内存泄漏?我以为每个程序都有4G虚拟内存,上面列出的数字远不及4G。有没有办法知道还剩下多少虚拟内存?

这部分取决于您的操作系统和硬件。 您在什么硬件/操作系统上运行?