4

我的多线程应用程序在 systemd 服务下运行。当它在没有工作负载的情况下运行/proc/<Main PID>/status时 systemctl 的输出和输出中的线程数相同

systemctl show -p TasksCurrent <ServiceName> TasksCurrent=287 cat /proc/<Main PID>/status | grep Threads Threads: 287

在某些情况下,当工作负载增加时,Threadsin的/proc/<pid>/status数量从287295TasksCurrentsystemctl~500~3000

服务在 CGroup 中只有一个进程,但它在依赖项中还有一些其他服务,如Requires,WantsBindsTo. 所有这些服务都有恒定数量的TasksCurrent,其中一个是~3500(并且它等于它的进程中的线程数),对于所有其他的1

问题: 为什么服务的任务数不等于该服务唯一进程中的线程数?

4

0 回答 0