【发布时间】:2015-06-14 21:58:59
【问题描述】:
如何在不返回out of memory 的情况下获得我的应用程序在一次malloc 调用中可以分配的最大大小(连续)(以字节为单位)? (最大的可用块)
P.S.:如果我想分配它,如果我不想分配它,我想要一个通用的答案(所以这个问题不需要重新提出)。
【问题讨论】:
-
您是要实际分配内存,还是只需要找出最大大小是多少?
-
在任何合理的现代系统上,操作系统可能会考虑使用整个硬盘进行溢出。您要考虑到这一点吗?
-
Jongware,我认为 OP 想知道,如何找出 ram 中 CONTINUOUS 内存块的最大大小,我不认为,这个问题涉及任何分页问题。
-
@icbytes 总结正确
-
在具有 overcommit 或惰性分配的系统上,您将 对几乎所有答案感到惊讶。 “可用内存”是当今虚拟内存系统中定义不明确的概念。例如,它可能会在您请求该值后更改毫秒。
标签: c memory memory-fragmentation