Toybrick

MPP进程关闭前物理内存未释放

zhuo799154051

中级会员

积分
443
楼主
发表于 2021-4-21 09:59:50    查看: 13744|回复: 2 | [复制链接]    打印 | 只看该作者
  1. <p>
  2. </p><p>[2021/04/21 09:54:15] D/: close curl rtsp://10.11.2.64
  3. [2021/04/21 09:54:16] D/: destroying curl rtsp ...
  4. [2021/04/21 09:54:16] D/: destroying curl rtsp ... done
  5. [2021/04/21 09:54:16] D/: destroying RtspClientUnitEM ...
  6. [2021/04/21 09:54:16] D/: socket close fd=130
  7. [2021/04/21 09:54:16] D/: SOCKET : Closed -1
  8. [2021/04/21 09:54:17] D/: socket close fd=131
  9. [2021/04/21 09:54:17] D/: SOCKET : Closed -1
  10. [2021/04/21 09:54:17] D/: socket close fd=133
  11. [2021/04/21 09:54:17] D/: SOCKET : Closed -1
  12. [2021/04/21 09:54:17] D/: socket close fd=132
  13. [2021/04/21 09:54:17] D/: SOCKET : Closed -1
  14. [2021/04/21 09:54:17] D/: destroying RtspClientUnitEM ... done
  15. Artificial intelligence-based camera processing business was terminated!
  16. recv msg from client: dis

  17. recv msg from client: exit

  18. AI Disable...
  19. The program is completely terminated, you must restart it locally.
  20. close all
  21. ALL close
  22. mpp[23018]: mpp_meta: ~MppMetaService cleaning leaked metadata
  23. mpp[23018]: mpp_buffer: ~MppBufferService cleaning leaked group
  24. mpp[23018]: mpp_buffer: ~MppBufferService cleaning leaked buffer
  25. </p>
复制代码


回复

使用道具 举报

zhuo799154051

中级会员

积分
443
沙发
 楼主| 发表于 2021-4-21 10:08:16 | 只看该作者
下面是主函数,serverLink里是MPP编解码线程+socket控制编解码线程的开关。发送enable信号后,编解码线程启动。然后我发送了disable信号,编解码线程join,但是线程关闭后我看到top信息上该进程的%MEM仍然有6%。重复发送enable和disable信号后,每次%MEM都会上升,而且disable后没有打印mpp_meta: ~MppMetaService cleaning leaked metadata这些信息。直到我发送信号关闭整个进程,才会有mpp_meta: ~MppMetaService cleaning leaked metadata这些打印出来。
int main()
{
    serverLink();
    printf("close all\n");
    printf("ALL close\n");
}
回复

使用道具 举报

zhuo799154051

中级会员

积分
443
板凳
 楼主| 发表于 2021-4-21 11:55:32 | 只看该作者
zhuo799154051 发表于 2021-4-21 10:08
下面是主函数,serverLink里是MPP编解码线程+socket控制编解码线程的开关。发送enable信号后,编解码线程启 ...

MppBufferService cleaning leaked group解决了,编码少加了释放。但是加了释放后虽然没有再打印了,重复enable和disable物理内存MEM还是没释放掉,编解码线程重启MEM还是会比上一次线程启动时高
  1. Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
  2. %Cpu(s):  1.0 us,  3.6 sy,  0.0 ni, 95.3 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
  3. MiB Mem :   1958.9 total,    581.6 free,    159.7 used,   1217.6 buff/cache
  4. MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1743.0 avail Mem

  5.   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND               
  6. 26871 toybrick  20   0 3389592 107052  53080 S   0.0   5.3   0:39.50 camTest
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表