无法跟踪Linux中的内存泄漏
Unable to track memory leak in Linux
我有一个实时应用程序基于RTMP流应用程序,如果运行,内存泄漏。不幸的是,我不能通过valgrind运行它,因为它是一个实时应用程序
问题在这里1. 应用程序PID内存即使在数小时后也保持恒定的3.8%2. 通过平板电脑的内核内存保持不变3.在meminfo中,我看到可用内存不断减少!
我怎么知道谁占用了这个内存?我怀疑是TCP缓冲区之类的。有人能帮帮我吗?
仅凭我们提供的信息,我们不可能知道你们在哪里泄密。
如果你不能使用Valgrind,我建议你试着隔离程序的各种功能/模块。然后,试着禁用/启用这些模块,看看当你禁用/启用它时是否有泄漏。
例如,尝试禁用应用程序的网络模块,看看它是否继续泄漏。这样,您可以将问题缩小到一个/多个模块,而不是整个应用程序。
我找到了根本原因。将Linux中的tcp内存设置为32MB会导致问题。将其重置为87KB,这是Centos 7.2中的默认值
不确定为什么将其设置为高值会导致问题
相关文章:
- 从构造函数抛出异常时如何克服内存泄漏
- malloc() 可能出现内存泄漏
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 尽管遵循了规则,内存泄漏在哪里
- 为什么调用堆栈数组会导致内存泄漏
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 使用模板类的自定义列表类型中的内存泄漏
- 为什么以下C++代码中存在内存泄漏?
- OpenCV 我应该使用智能指针来防止内存泄漏吗?
- 我是否生成线程并导致内存泄漏?
- 多线程程序中出现意外的内存泄漏
- 为什么此函数会导致内存泄漏?
- 在 C++ 库中使用cythonized python时内存泄漏
- 需要帮助查找内存泄漏
- 瓦尔格林德的内存泄漏使用新的
- 无法找出我的代码中的内存泄漏
- C++ 结构内部的unordered_map会导致内存泄漏问题吗?
- 可视化 使用 VS Code 查找C++应用程序中的内存泄漏
- Shared_ptr双链接列表内存泄漏
- C++ 在类中使用常量引用文本时 O2 内存泄漏