Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question
    
apache2 is a semi-threaded model vs. the original apache series. Top doesn't do threads, neither does ps - but htop does. –  Avery Payne Nov 19 '09 at 18:49
add comment

5 Answers

up vote 12 down vote accepted

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 threats. It will make more sense.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

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"
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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