Monitor Resources Usage over Time

   A few weeks ago, I needed a way to monitor one of my servers for a period to see if I needed to upgrade the memory.  The Managed Services Provider (MSP) had sent me a quote for a RAM upgrade to one of the DC servers because at one point, it had peaked at 95% usage.  The funny thing is, they couldn't tell me how often that happened, only that their monitor had flagged one data point and their process required them to send this invoice.


   After some research, I came across perfmon, which is a built-in tools for Windows.  Microsoft has quite a detailed blog post if you want to get deep into it, but I'll cover what I did to find out the information I needed.

   The reason for using perfmon is because Windows Task Manager isn't a reporting tool for seeing results over time, unless you want to take notes every few seconds.  I don't know about you, but I have better ways to use my time than to watch a monitor and task manager.  Once setup, perfmon can record what you need and show the results over time.  First step is to type in the search box of the start menu perfmon.  In that window, expand Data collector Sets, right-click User Defined and create a new Data Collector Set.


   When creating the data set, there is an option to use a template or to set it up manually.  I set mine up manually so I had more control over what I was seeing.  The next screen is where you select what kind of log you want.  In my case, I used the Performance counter.  Below is what each one does.


  • Performance counters are measurements of system state or activity. This option polls the requested parameters at specified time intervals and records the data returned.
  • Event trace data only logs the event when something happens. The data is collected from trace providers, which are components of the operating system or of individual applications that report actions or events.
  • System configuration information is collected from key values in the Windows registry. Windows Performance Monitor can record the value of a registry key at a specified time or interval.



   Now for the fun.  There are a ton of processes you can monitor with perfmon.  For my reports, I had selected Processor Time and Available Mbytes for memory.  I wasn't worried about the CPU, but figured I might as well see how that's doing as well.  With that, you can select Finish or go through a few more steps to configure things like how long you want to monitor or if you want to run it under a different user.  I opted to save my reports to the desktop of the server.

   At that point, I just let it run.  A week later, I went back to perfmon and stopped reporting.  You'll need to actually stop it to be able to see the final report.  In the report below, the lower the bar, the less available memory there is for the server.  I had turned off the Processor Time for this so it was easier to read (it shows up as a different colored bar).


   Overall, this server is doing well enough.  There were a few spikes where it was utilizing a good chuck of the memory space, but nothing major.  This was able to give me the first steps to see if there was an issue and now I can act on it.  I'm currently investigating on what is causing the spikes.

   Hopefully this will give you another tool to use to better manage your network and have a better understanding of what's going on.  As always, stay safe goblins.
SHARE

About Jimmy R. Tassin

Jimmy Tassin is the IT Manager of Midwest Regional Bank and has been involved with the Technology field for over thirteen years. His two hobbies are overseeing the daily operations of OmniKraft, a Minecraft server community, and writing at Goblinbyte.com.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment