Using perfmon to monitor memory bottlenecks

Posted on 2013-01-25
Medium Priority
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
  • 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: http://msdn.microsoft.com/en-us/library/ms177455.aspx

How to determine proper SQL Server configuration settings: http://support.microsoft.com/kb/319942/EN-US/

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.
Independent Software Vendors: 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

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

Question has a verified solution.

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

A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Suggested Courses

839 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