我在 AIX 6.1 上运行此代码
while(true)
{
int a = rand(); //generate a random integer value
void* test = malloc(a*a); //allocate large chunk of memory block
usleep(3000000); //sleep for 3 sec
free(test); // release memory block
}
使用 MALLOCTYPE=buckets 我的观察是常驻集大小(实际内存)和进程的数据段大小不断增加。这是通过命令 ps v PID pg sp 值在 topas 中显示的进程缓慢增加的检查。
有人可以证明这种行为是正当的。