我類似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