所以,这就是我想要做的:
- 以与命令相同的方式释放系统内存(非活动内存),
purge
但以编程方式。
我已经尝试过这里的代码(它的作者声称它可以工作),但它所做的只是导致 Mac OS X 冻结:
void
free_up_memory()
{
int c;
char *p, *q;
for(c = 0; c < 2048; c++)
{
if(!(p = malloc(1024 * 1024)))
{
return;
}
for(q = p; q < p + (1024 * 1024); q += 4096)
{
*q = 1;
}
}
}
有任何想法吗?