假设我分配了一些任意大小的内存
void* p = malloc(WHATEVER_SIZE);
稍后我想检查(可能使用系统调用)该数据的哪些字节在物理内存中,以及需要发生多少页交换才能检索不在物理内存中的字节。有办法吗?
最佳答案
如果您使用的是 Linux 或类似系统,请尝试 mincore
系统调用。它为您提供一个位 vector ,代表一系列页面,哪些页面在调用时物理驻留。当然,这些信息在您使用时可能已经过时;它本质上受制于 TOCTOU除非页面被锁定,否则比赛。
关于c - 如何检查数据是否仍在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247897/