15

I am running a webserver with apache2 and ubuntu. Using ps I can see only a few apache processes running:

ps aux | grep apache

However if I htop, I can see loads of apache2 processes running. About 2 dozen. Why the difference?

Amandasaurus
  • 33,461

5 Answers5

18

HTop is showing all the processes and their threads whereas ps aux only shows the processes. Press F5 in htop to create a hierarchal view of the processes and their threads. It will make more sense.

Luke
  • 3,916
12

sweimann's answer is correct.

Additionally you can make ps(1) behave in the same way by using the H flag which will display threads as if they were processes.

Apparently the same key will also toggle off such behaviour in htop.

Dan Carley
  • 26,127
6

I don't know htop, but maybe it displays threads as separate processes and you have configured apache with a multithreaded worker?

Sven
  • 100,763
3

In htop, you can disable this behavior by pressing F2, then go to "Display options", then mark "Hide userland threads". Optionally you may find "Hide kernel threads" useful too.

Juliano
  • 5,592
2

To highlight the difference between processes and threads in htop:

  1. press F2
  2. select "Display options"
  3. enable "Display threads in a different color"
ESV
  • 155