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

On a freeBSD box, when I do TOP after starting a process x:

CPU states: 34.4% user, 0.0% nice, 64.8% system, 0.8% interrupt, 0.0% idle

Here, 0% idle.

But the highest cpu using process is x which is just using about 3%. and there is no other process taking much. I verified it with PS too.

How can I understand this behavior? what is going on here?

0% idle mean, everything is being used up? I cannot do anything more? And, should sum of all the CPU usages by all processes shown under top be 100%?

share|improve this question
    
I am continuously doing this: TAIL -n -0 -F file, Which is talking it all. Even if I dont do anything else (parsing, writing data out). –  hari Aug 10 '10 at 1:00

4 Answers 4

up vote 4 down vote accepted

Check out this article from the March issue of Linux Journal.

It explains many different ways of finding out what exactly is slowing down your system. It shows you how to examine the CPU use, RAM/swap issues and I/O.

share|improve this answer
    
Awesome. Thanks. –  hari Jul 31 '10 at 18:43

It's clear that user + system + +interrupt = 100%, so that much is correct. It's not just the "user-space" process utilization that's running.

Tasks the system might be performing are disk swaps, I/O wait, etc. Check other logs (perhaps a disk is failing), investigate memory utilization (maybe swapping), etc.

Can you share the full output, with load, mem utilization, etc? What platform is this on (so we can suggest some other common tools to gain visibility into what's going on)?

share|improve this answer
    
Thanks much. What all o/ps should I provide? Can you please let me know the commands? I will provide the results. –  hari Jul 31 '10 at 5:28
    
The links in the article indicated by kenny.r below are good for Linux: iostat, iotop, pay attention to iowait% in top output, free, ps with the extended display options frmo -o, etc. –  medina Jul 31 '10 at 15:37

Assuming that it's not I/O wait (why isn't I/O wait in that list from top? ), check some subsequent ps or atop snapshots to see if you have a process that's forking and dying or respawning in a loop. Each process wouldn't use much CPU, but all that forking can push the system CPU up high.

share|improve this answer

I have seen that kind of behaviour when the hard disks had to constantly seek and overall throughput suffered a lot due that.

What does systat -vmstat show you? Are the disks busy?

share|improve this answer

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.