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
  • 3
  • 2
LVL 39

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.
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

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

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Dynamics crm 2011 8 44
Complex SQL 10 33
Calculating Business Hours 19 63
Azure SQL DB? 3 16
Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
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…
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

705 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now