繁体   English   中英

进程和子线程 ram 使用

[英]Process and child Thread ram usage

我正在与两名工人一起使用gunicorn来运行 Flask API 以部署 ML model。我打开 Htop 并按 F5。 它显示如下:

在此处输入图像描述

我用 PID 246598扩展进程。 它显示如下:

在此处输入图像描述

  1. 我想知道 PID 247243, 247161,...子进程实际上是 PID 246598父进程子线程吗?

  2. 我看到这些子进程每个都使用0.2% MEM ,所以每个子进程实际上使用0.2% MEM ,或者只有父进程使用0.2% MEM ,而其他子进程不使用那么多。

因为我害怕如果 Gunicorn 像这样多次克隆相同的进程,它会使用很多 ram。

非常感谢!

我建议使用free命令查看启动服务器前后机器上的总used量 memory。 查看 top 之类的东西可能会产生误导,因为 memory 中的很多内容在线程甚至进程和共享库之间共享(克隆)。

如果你真的想深入研究, cat /proc/meminfo以获得系统中所有 memory 使用情况的超级详细统计信息,如 kernel 缓存,并进行服务器启动前后的比较。

是的,linux 很烦人,因为许多工具不区分线程与进程...... linux 上的线程只是一个经过一些调整的进程,两者都是由 clone(2) 启动的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM