セキュリティ上の理由から、Linuxで未使用のRAMをゼロにするにはどうすればよいですか?私はこのシンプルなCプログラムを書いていますが、mallocによって呼び出されたRAMが次のループで再利用されるのか、新しいRAMが使用されるのかはわかりません。うまくいけば、数分後にRAM全体がゼロになっているはずです。LinuxでCを使用しているゼロ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
}
}
'sbrk'は常にゼロで初期化されたページを与えます。 –
私はLinuxがこれをしたことに気づいていませんでした。あなたは参照を提供できますか? –