我有C Linux应用程序,它使用malloc,calloc,realloc &连续分配和释放内存(大约200 alloc /每秒)免费功能。尽管所有分配的内存都被释放(通过包装* alloc和空闲来验证),但VmSize,VmRSS VmData数量仍在增加,最终应用程序被OOM杀手杀死。Linux c应用程序内存使用情况
为什么VmSize,VmRSS & VmData不断增加?如果是内存管理问题,任何指针可以避免这种情况?
我看到这个Problem usage memory in C,但答案没有解释OOM行为。
我*强烈*建议您通过** valgrind **运行它,而不是依靠宏'日志输出。指出潜在泄漏的位置非常有效,听起来你有一个,无论你是否同意,它的价值检查。 – WhozCraig
我使用的第一个工具是valgrind,但它没有帮助,因为应用程序代码没有泄漏 –
您是否在运行时库实现之外的代码中使用**任何**第三方库? – WhozCraig