AIX 5.3上内存释放
在RS6000/AIX5.3上,发现用malloc/calloc/realloc分配的空间,调用free释放后,使用ps -elf依然看到该进程的SZ跟没释放一样大。
我印象中,在AIX 4上面,没有这个问题,分配空间,释放后,使用ps -elf可以看到其SZ恢复。但在5.3上,在未分配前SZ是413,分配后为15844,释放后还是15844。不过下一次分配不增长,依然是15844。同样的现象在HP-9000上也碰到过,但是据HP的技术人员说,他们的策略是当PageSpace使用到一定程度后,系统才统一来回收。在AIX 5.3上,可以看到PageSpace在不断增长,据运行管理人员说,到100%后就宕机。
不过在AIX 5.3和HP-9000上都一样的就是进程退出后,PageSpace的使用比率会下降。
想请教有没有什么办法,在进程不退出的情况下,系统可以回收释放了的内存?比如说设置某个系统参数,或者这种情况是由于某种故障引起的?
请高手指点一下,比较着急。