我类似hypotetical程序应用:我可以在Linux上用完虚拟内存吗?
for(;;) {
for (i=0; i<1000; i++) {
p[i] = malloc(random_number_between_1000_and_100000());
p[i][0]=0; // update
}
for (i=0; i<1000; i++) {
free(p[i]);
}
}
没有内存泄漏,但我的系统中,内存的消耗(顶部,列VSS)增长无极限(如可用物理内存的300%)。这是正常的吗?
更新 - 使用内存一段时间,然后释放它。这是一个区别吗?
试着真正地访问块,否则不能保证它们已被分配。 – 2009-11-26 14:41:01