![]() | |||||||
|
|
As Always: Check Memory First If your system is regularly experiencing any of these symptoms, first examine processes consuming large amounts of memory to rule out design flaws or algorithm problems (for example, an application could be continually allocating memory but failing to release it when it is no longer needed). If process behavior appears normal, you may need to consider shifting application workloads or increasing memory capacity. And remember that low free memory by itself, with no other symptoms, is not necessarily a problem – it could simply mean that resources are being utilized effectively!
Next Stop: I/O
As with memory investigations, you will want to check the application performing the I/O for design or algorithmic issues, and then consider whether your application load is reasonable for the server and disk(s) currently in use. An easy way to do this on Linux is to look at which processes are consuming large amounts of CPU time; chances are, those processes are contributing to your I/O load.
As with a Windows CPU investigation, you’ll want to check for individual processes using large amounts of CPU time. Any single process consuming more than 50% of the CPU on a consistent basis could indicate bugs or efficiency problems with the application; or, it’s possible that high CPU utilization is simply a signature of this particular application. A good auxiliary metric to look at is the number of runnable processes – that is, the number of processes that could use the CPU if it were available – or, in other words, the size of the CPU queue. If you see high CPU usage and more than one runnable process over time, that means processes are consistently having to wait for the CPU – a sure sign of a bottleneck. On the other hand, a high overall CPU Busy% with no runnable processes likely means that the CPU is simply being utilized effectively.
Two more indicators to help track down CPU issues: the total number of processes on the system (to see if your application workload is approaching or exceeding the system’s capacity – your specific mileage will vary), and the presence of zombie processes – processes that are using resources but not doing any useful work (which could indicate an application bug or design flaw).
Next month: Tips for SQL Server Monitoring | ||||||
| |||||||
Copyright © 2006 Heroix Corporation. All rights
reserved.
If you do not wish to receive future
e-newsletters from Heroix, follow this link.