在TCL中完全释放内存的可能方法?

时间:2016-04-20 12:00:15

标签: memory-management garbage-collection tcl garbage

有没有办法在TCL中完全释放内存,这意味着在不关闭tclsh.85进程的情况下将其重新分配回操作系统?

1 个答案:

答案 0 :(得分:0)

如果你这样做是因为你要从你的进程中卸载tcl DLL,那就是Tcl_Finalize() API调用。否则,不,默认情况下无法执行此操作。如果您使用定义的PURIFY符号构建Tcl(以进行内存分析的商业工具命名),则Tcl将使用系统内存分配器而不是其自身的高性能线程感知分配器; 可能能够将内存释放回操作系统。或者它可能不会;它完全脱离了Tcl的手。

根本没有没有脚本级API。大多数情况下,如果进程使用大量内存,它要么很快就会退出,要么重用那么多内存,要么可以依赖操作系统只是将未使用的内存分页。