In ps xf

26395 pts/78   Ss     0:00  \_ bash
27016 pts/78   Sl+    0:04  |   \_ unicorn_rails master -c config/unicorn.rb                                           
27042 pts/78   Sl+    0:00  |       \_ unicorn_rails worker[0] -c config/unicorn.rb                                        

In htop, it shows up like: htop showing multiple unicorn_rails lines

Why does htop show more process than ps?


3 Answers 3


By default, htop lists each thread of a process separately, while ps doesn't. To turn off the display of threads, press H, or use the "Setup / Display options" menu, "Hide userland threads". This puts the following line in your ~/.htoprc or ~/.config/htop/htoprc (you can alternatively put it there manually):


(Also hide_kernel_threads=1, toggled by pressing K, but it's 1 by default.)

Another useful option is “Display threads in a different color” in the same menu (highlight_threads=1 in .htoprc), which causes threads to be shown in a different color (green in the default theme).

In the first line of the htop display, there's a line like “Tasks: 377, 842 thr, 161 kthr; 2 running”. This shows the total number of processes, userland threads, kernel threads, and threads in a runnable state. The numbers don't change when you filter the display, but the indications “thr” and “kthr” disappear when you turn off the inclusion of user/kernel threads respectively.

When you see multiple processes that have all characteristics in common except the PID and CPU-related fields (NIce value, CPU%, TIME+, ...), it's highly likely that they're threads in the same process.

  • 4
    Any clue about why this is the default? Why is that relevant? It seems like adding noise but I guess there is a good reason.
    – tuxayo
    Mar 23, 2018 at 10:37
  • 3
    @tuxayo I was curious too and found this: github.com/htop-dev/htop/issues/99#issuecomment-748142128 tl;dr it was a kind of a philosophical choice.
    – Shautieh
    Feb 2, 2021 at 1:37
  • Thanks @Shautieh this is a great find.
    – tuxayo
    Feb 3, 2021 at 13:29

For me, on a more-or-less current arch linux system, ps xf shows me only the processes owned by my user ID. htop shows me all processes. Try ps -ef for a list of all processes, or perhaps ps -ejH to get a child/parent relationship listing.

  • This is brilliant thank you. However I was hoping to get the tree structure within htop. Sep 14, 2020 at 17:07
  • Pressing F5 switches to tree view Sep 29, 2020 at 19:21

htop is also showing processes that have ended. This is great, so you can see short-lived processes and what resources they might have consumed. If you exit htop and restart it, you'll see they have disappeared. I can't figure out a way to make htop drop historical processes without restarting, so maybe there's a way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.