Repository navigation
.NET Core Linux: Many child processes I didn't start #45835
|
I'm looking at one of our .NET core apps (console - hangfire job server app), running on linux on docker/kubernetes. I'm just a bit confused as to why we have so many child processes: There are a lot of I'm looking into resource usage of this app here, so it's a bit confusing. Is this some kind of way multitasking is done on .net core linux?I may want to do some profiling - which process do I even attach to? Just PID 535? Is it something we've done?We have no Process.Start in our codebase, so it may be a 3rd party lib doing this. They are all trying to run our app with default args? Is there a different way to change the entrypoint I'm not seeing here? Any advice to find the culprit? I've thought of changing the process security to deny process spawning but I don't know how to do this on linux.
Are these forked processes maybe? If it helps the app is running hangfire with a redis storage provider. |
Replies: 1 comment
|
These are just individual threads within the same process. In htop if you press F2 you can hide them, color them differently, and show their custom thread names. (IE: For example, here's what it looks like if you enable coloring them differently and showing thread names: The reason things look the way they do by default is the line between a thread and a process is slightly blurrier on Linux. (This elaborates a bit more) |

These are just individual threads within the same process. In htop if you press F2 you can hide them, color them differently, and show their custom thread names. (IE:
Thread.Name)For example, here's what it looks like if you enable coloring them differently and showing thread names:
The reason things look the way they do by default is the line between a thread and a process is slightly blurrier on Linux. (This elaborates a bit more)