为什么systemctl任务的数量多于进程线程的数量

时间:2018-02-07 13:14:55

标签: c++ multithreading service systemd systemctl

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

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

在某些情况下,当工作负载增加时,Threads/proc/<pid>/status的数量从287变为295(这是正常的,在工作流程中创建了其他线程)但数量TasksCurrent输出中systemctl的{​​{1}}不断变化,从~500~3000

Service在CGroup中只有一个进程,但在RequiresWantsBindsTo之类的依赖项中也有一些其他服务。所有这些服务的 常量 数量为TasksCurrent,其中一个是~3500(它等于其进程中的线程数) ),对于所有其他人,它是1

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

0 个答案:

没有答案