Using perfmon to monitor memory bottlenecks

Posted on 2013-01-25
Last Modified: 2013-05-02
We have a Windows 2003 SBS server with 3 GB of memory.  Users have been complaining that running the backup on their large SQL database has been slow, as their program also uses an extensive documentation folder that contains 29k PDFs (3.0 GB of docs) and has to compress and back these up as well into a zip file.  

The vendor told us that since we recently reduced our memory from 4 GB to 3 GB, backups are going to take much longer (users are reporting it as three times as long).  Is there a way to use performance monitor to verify this shortage in memory?  If so, what counters should I look at?
Question by:epichero22
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 40

Expert Comment

ID: 38820303
In my opinion if SQL backups take longer you need to look at IO not just memeory. It's easy to check in task manager how much memory SQL Server is using and I suggest chanage SQL MAX memory so it won't take all that it can from that box. My guess is the ZIP takes most of the memory and SQL will consume most of the IO during backup.

More details below:

Optimizing Server Performance Using Memory Configuration Options:

How to determine proper SQL Server configuration settings:

According to Microsoft, for 32-bit editions of SQL Server, it is important to make sure that the /3GB and /PAE switches are set in accordance with the amount of physical memory in the system startup as follow:

• If you have 3-4 GB memory, include the /3GB switch in the startup.
• If you have 4-8GB memory, use /3GB and /PAE
• If you have 16 GB or more, use only /PAE, as /3GB will cripple memory over 8GB.

• When you have set /PAE, go into SQL Server's configuration and set the option to use AWE to ON. If you do this, however, you need to also specify a maximum memory value in SQL Server, if you do not, then SQL Server will take all but 128MB of the computer's memory if the automatic memory management is used in SQL Server.

• The user who runs the SQL Server needs to have the 'lock pages in memory' user right in the local security policy, or it will have problems allocating the memory for SQL Backup's extended stored procedure. If you have checked everything above, please check this as well.
LVL 35

Expert Comment

by:David Todd
ID: 38820395

Now here is the great part - if you follow all the above, at the bottom Brent makes this outstanding offer, of taking a 5minute or so look at your results and giving a gut feel type recommendation. As Brent is a MVP and Certified Master this is a great offer!


PS Do the monitoring - too easy to just jump to a wrong conclusion as everything is inter-related.

PS2 What is the issue with the backups taking 3 times longer - is it moving outside agreed maintenance window? Is backup a user initiated activity? If so, why isn't it automated via a schedule and run overnight?
LVL 11

Author Comment

ID: 38820529
The SQL server backup is taking the normal amount of time.  It's the documentation that's taking forever.  Does that change your answers?

Also, to answer the questions, backup is a user initiated activity and the vendor doesn't allow this to be part of an automated task.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 35

Expert Comment

by:David Todd
ID: 38820592

Changes my answers a little.

Is the documentation folder inside or outside the database? Is it using the filestream function of sql at all?

Do run the perfmon counters and post the top 7 or 8 header rows from excel. They may need some tuning to pick up on other things.

SBS - what else is running on the server? SBS isn't the most proformant of platforms. Is it time that SQL was broken out into its own server and away from exchange and the fileserver and the domain controller.

If it is the filesystem backup that is taking the time, when was the last time the disk was defragmented? How full are the disks? Performance drops off rapidly as the disk goes over 80% used. (Just like you don't fill your coffee cup to the brim, treat 80% full as at capacity. In someways the burns from sloshing an overfull coffee cup can be less painful than overfull hdds.

No idea why the vendor wont allow automated/scheduled backups - this is the complete opposite to most disaster recover thinking.

Just to go back a couple of steps - memory is generally one of the least expensive parts of the server - why was 1GB removed? In this day and age of 64bit OS's, there is generally a performance increase for memory hungry services like SQL and Exchange in increasing from 4 - 8GB of ram.

LVL 11

Accepted Solution

epichero22 earned 0 total points
ID: 38886001
Hi Everyone,

I actually ran a backup on the software and was watching Windows task manager, and it turns out that the available memory was staying put around 1.5 gigabytes.  It was actually the processor that was being worked the hardest (they have an Opteron 1210 dinosaur).  I can't really answer the detailed questions that were asked regarding the SQL functions since I'm not an engineer for it.  But I think I discovered that the CPU is what's slowing down the backup process.

I did speak with the vendor and discovered a work-around, so thanks for everyone's help.
LVL 11

Author Closing Comment

ID: 39131088
Thanks everyone :)

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question