出于安全目的,如何在 Linux 中将未使用的 RAM 归零?我编写了这个简单的 C 程序,但我不知道 malloc 调用的 RAM 是否会在下一个循环中重用,或者是否会使用新的 RAM。希望几分钟后,整个 RAM 将归零。
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *a = NULL; // declare variable
while(1) // infinite loop
{
a = malloc(524288); // half a MB
memset(a, 0, 524288); // zero
free(a); // free
sleep(1); // sleep for 1 second
}
}