我使用C语言和Linux作为我的编程平台。
在我的应用程序中,我调用 pthread_create。然后我使用 ps 命令行工具检查应用程序的内存使用情况,它在 VSZ 列中添加了 4。
但问题是当pthread_create函数处理程序退出时,添加到内存中的4并没有释放。然后当应用程序再次调用 pthread_create 时,再次添加 4 值,直到它变大。
我尝试了 pthread_join ,似乎内存仍然变大。
Thanks.
ps
不是测量内存泄漏的正确工具。当您释放内存时,不能保证减少进程的 vsize,这既是由于内存碎片,也是为了避免不必要的系统调用。
valgrind
是一个更好用的工具。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)