我的应用程序类似于假设程序:
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%)。这是正常的吗?
更新- 使用内存一段时间,然后释放它。这有区别吗?