How can I monitor the thread count of a process on linux? How can I monitor the thread count of a process on linux? multithreading multithreading

How can I monitor the thread count of a process on linux?


try

ps huH p <PID_OF_U_PROCESS> | wc -l

or htop


To get the number of threads for a given pid:

$ ps -o nlwp <pid>

Where nlwp stands for Number of Light Weight Processes (threads). Thus ps aliases nlwp to thcount, which means that

$ ps -o thcount <pid>

does also work.

If you want to monitor the thread count, simply use watch:

$ watch ps -o thcount <pid>

To get the sum of all threads running in the system:

$ ps -eo nlwp | tail -n +2 | awk '{ num_threads += $1 } END { print num_threads }'


Each thread in a process creates a directory under /proc/<pid>/task. Count the number of directories, and you have the number of threads.