提问人:Nick 提问时间:7/25/2023 最后编辑:Nick 更新时间:7/26/2023 访问量:94
Linux malloc 返回“真实”内存
Linux malloc return "real" memory
问:
在 Linux 中,如果你使用内存和不使用内存,内存就不是“真实的”。malloc
如果你这样做,这可以很容易地测试。malloc(some_really_big_number)
然后,如果程序开始使用内存,Linux 将开始进行实际分配,这可以在 Linux 进程管理器中看到,如果没有足够的内存,Linux 将在磁盘上交换。top
有没有简单的方法可以在调用后立即分配和返回真实内存(如果系统开始交换,malloc 应该等待交换完成)malloc
更新
尝试以下操作,它可以工作:
- 内存
- 将每 1024 个字节设置为 0 - 比 memset 快,但不会太多
- 将每 4096 个字节设置为 0 - 与上一个相同
尝试以下操作,但不起作用:
- 卡洛克
- mlock - 在 Stack Overflow 的某个地方阅读它
- 将最后一个字节设置为 0
答: 暂无答案
评论
malloc
mmap
MAP_POPULATE
calloc()
calloc()
memset
malloc()
memset()
memset()