3

This is my "top" screen. Now it's 2.96. Sometimes it goes above 3! I've read that it's not good. How to investigate and fix it? enter image description here

2 Answers 2

6

You seem to be seriously using a lot of swap there. You have a relatively small amount of memory allocated to cache/buffers.

Your %wa is at 49.5%. That value corresponds to the CPU waiting for I/O to complete.

I suspect you have that is or was using a large ammount of memory. But perhaps you also have something performing a lot of I/O as well.

Fire up iotop, and you might get a better picture of the I/O situation.

P.S. If you are not using ksplice, then you are almost certainly running a kernel with known vulnerabilities. 354 days of uptime is too long.

3
  • I'm sorry my server does not have iotop command. Mar 2, 2012 at 2:50
  • Can you install it? At least from the looks of it you have an I/O problem. You will probably need a tool that looks at I/O to find the answer.
    – Zoredache
    Mar 2, 2012 at 2:53
  • Just curious about what is up with the downvote? Did I post something wrong, or omit something obvious?
    – Zoredache
    Mar 2, 2012 at 3:53
4

Nothing wrong with your top.
MySQL database daemon is eating most of the CPU. You can press C to find the exact commands/instructions inside the top view.
If it is a surprise for you that your MySQL database is so busy then you need to investigate what is using it (webserver, application?). There are tools for this, including those provided by native MySQL packages.

4
  • One example of such native tool: dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
    – Alex
    Mar 2, 2012 at 2:33
  • 3
    Why do you suspect mysql if it is only at 7.6% CPU and 36% Memory? It does seem to be busiest, but the problem seems to be I/O see the %wa. Not saying it isn't mysql, but I think I would want to look at iotop first.
    – Zoredache
    Mar 2, 2012 at 2:36
  • Agree with Zoredache. Its a common misconception among newbies that load is directly related to CPU usage. Sometimes it is related yes, but not always. Also the general rule for full utilization is when load is equal to the number of cores (though hyperthreading screws this up).
    – phemmer
    Mar 2, 2012 at 3:05
  • 1
    The idea came from the fact that the server seems to only have mysql running (the other processes seem to be standard packages installed with a typical linux distro). Hence the suggestion to profile MySQL.
    – Alex
    Mar 2, 2012 at 3:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .