Windows Server 2003 Performance Monitor, System Monitor, Or Whatever They Call It Nowadays: Part 1 In the days of Windows NT, it was called Performance Monitor. When Windows 2000 came around, it still had the same executable on the RUN line: PERFMON, but Microsoft buried it within the new MMC formatting, and sometimes called it the “System Monitor”, and other times simply Performance Monitor. System Monitor is actually a realtime component of Performance Monitor, but for the sake of Sanity, we’ll call it Performance Monitor because the title of the window (mysteriously) remains “Performance”. Within Windows 2000 and Windows, Performance Monitor is best accessed from the Start Menu Run line as PERFMON. It can also be accessed through Administrative Tools, or Computer Management.Performance monitor is used to monitor how well and how efficiently the server is functioning. It’s never as easy as it sounds, and Performance Monitor doesn’t have an analysis tool that will help you decipher the performance data that it gathers. Performance Monitor is similar to a high-powered camera on a tripod. Your job is to not only point the Performance camera in the right direction, but also to set the focus correctly in order to gather the data that you need. What’s more, you need to be able to translate that data into English so that you can determine if a problem exists, and where it might be.Before you even delve into Performance Monitor, it’s a good idea to become secure in the concept of Baselining. A Baseline is simply a set of data that depicts the ‘norm’ for a particular object, event, or status. The perfect example of a baseline in the real world would be human body temperature, which is 98.6 degrees Fahrenheit. Any doctor will tell you that this is an average, or guideline, and that different people have different temperatures that are part of their norm, and each person might have deviations from that norm depending upon the time of day, the stress they’re under, and the ambient temperature of the environment they are in. That said, a person whose temperature is 99 might be cause for concern, but then again, if they just woke up, that temperature may be completely normal. This same caliber of knowledge comes in handy when dealing with Performance Monitor just as much as it does with the human being. A novice might look at CPU activity that spikes at 100% and become alarmed, until they realize that this is normal. Performance Monitor can easily send an experienced administrator down the wrong troubleshooting trail if they aren’t at least somewhat aware of what ‘normal’ behavior looks like on the system, and how that behavior changes depending upon the time of day, what the server is doing, what demands are being made upon it, and any number of other considerations. Creating a baseline is done by simply monitoring certain components, such as CPU, Memory, and Hard Disk, over a period of time when the server is known to be healthy and functioning acceptably. The baseline itself, is then stored somewhere safe, and dragged out for comparison when it becomes necessary to troubleshoot problems. In this way, it’s easy to determine where problems may lie without inadvertently heading down the wrong trail.Now here’s the deal, from an exam perspective, these guidelines are a good thing. The real world doesn’t always follow these guidelines, however. Example: you have built a server that, according to Performance Monitor guidelines, needs more RAM. The thing is that, the server functions fine as far as you can tell, and there are no perceived problems whatsoever, so there’s no reason to spend extra money in fixing a problem that doesn’t exist, is there? Of course not! While you may be able to keep this particular tidbit in your mind or documented, the true annoyance occurs when you encounter a REAL problem, and notice that, according to those same Performance Monitor guidelines, the server needs RAM. As a result, you or one of your colleagues may diagnose a RAM issue that won’t really solve the problem. In the meantime, the monetary and business cost to the company would definitely make the boss look at you funny when the problem didn’t go away with new RAM. Baseline information helps avoid this possibility and allows you to better gauge when and where your server is sick and when it’s well.Performance Monitor works by narrowing the focus onto a specific object: usually a piece of hardware or major process, and then further focusing upon a specific activity associated with that object, called a counter. Counters are the actual numbers, data, and statistics that are used to determine what’s going on with the object. If Performance Monitor existed for humans, some of the objects would include the major bodily systems (circulatory, respiratory, metabolic, nervous, etc), and the major organs (heart, lungs, intestine, liver, kidneys, etc). Furthermore, numerous counters would exist for each object, and that would indicate certain activities and status dealing with that object. Counters for the heart might be beats per minute, blood pumped per minute, oxygenated blood received from the lungs, volume of unoxygenated blood received from the body, etc. Now, while it’s not necessary that you understand these particulars of the human body, you do need to know and understand some of the real Server equivalents that can be tracked by Performance Monitor.Now, for the most part, these are the objects that you would normally generate your baselines from. LogicalDisk: Disk monitoring is divided into two sections: physical disk and logical disk. If you consider some of the information in chapter 10, you’ll understand that information about a Logical disk (volume or partition) may indeed be more important than the physical disk, because it can point to issues, corruptions, and performance issues that may be able to better allow you to isolate an offending application or piece of hardware. Memory: Memory is RAM. Memory is used in several different ways, and counters exist for this object that can tell you how efficiently your RAM is working for you. Network Interface: This particular object will give you statistics on how many network packets are being sent and received by the NIC. It will also give you statistics about bad packets and data that are being sent and received by the same NIC. Paging File: Paging is a technology that has been used for many years as an add-on or crutch for systems with insufficient RAM. This is done by literally shifting data from RAM and storing it on the hard disk. The ‘conscious’ system still references the stored RAM as if it were really located on the physical RAM, but in reality, the system’s ‘subconscious’ takes care of moving and addressing data from RAM to storage, and back. More recent versions of Windows require a paging file, even when sufficient memory exists. The purpose mainly lies in some obscure capability to increase speed and enhance productivity. As a result, the paging file and processes that surround it are thrust into the limelight of performance concerns, because an ailing paging file can lead to performance issues just as much as a healthy one can enhance performance. Physical Disk: The physical hard disk is another object that should be monitored occasionally for obvious reasons: a bad hard disk will generate errors. An overloaded hard disk will also have problems and could very well slow down the overall server productivity: especially if the paging file is being heavily used. Processor: The processor object has the ability to monitor the health and welfare of a server’s one or more CPUs. Although a CPU may seem to be an ‘either it works or it doesn’t’ item, it’s not. As with any of these other objects, counters exist that will monitor things such as how many calculations are being performed, how many errors are being generated, and even how long the line of requests is for processes waiting to for CPU attention. (Incidentally, any waiting line in Performance monitor is termed a queue.) [Diana Huggins]