On Fri, Dec 18, 2009 at 2:38 PM, Florian Philipp <li...@f_philipp.fastmail.net> wrote: > Hi list! > > My virtual server seems to have a problem and I don't know how to find it. > > Today, while trying to create a new postgresql database I noticed that > certain system operations seem to take ages. Normal work on the shell > works just fine but for example accessing the postgresql server through > psql, restarting tomcat, postgresql or zope all show the very same behavior: > Execution freezes, the load average climbs to 1-1.9 and after a few > minutes (maybe longer) the task finishes correctly. During all this > time, top reports that the CPUs are 100% idle. > > Other services, for example rsyncd or openvpn, work normally. I also > tried restarting the VM. Shutdown took maybe 10 or 15 minutes. Booting > was much faster with only a few minutes until all services were up and > running. However, it didn't solve the problem. > > So, my question is: How can I find out what is causing this? Can I > somehow trace it? Find out why a process waits? > > Keep in mind that this is a virtual server. I have no control over the > kernel. Oh, and before you ask: The only recent update was rkhunter from > 1.2.9-r1 to 1.3.4-r2. I also enabled the chkrootkit weekly cronjob. > > Thanks in advance! > Florian Philipp
Well... it'll cause a MASS of output to sift through .. but strace is likely the most powerful tool for the job of simply seeing what a process is calling and when (notably, what call is left waiting to return as the whole process blocks). I'd also take a look at iotop, though the fact that top shows the cpu as idle rather than sitting in iowait makes me doubt that iotop would tell you too much. -- Poison [BLX] Joshua M. Murphy