Memory Leak in Windows SBS 2003?

Joined
May 1, 2002
Messages
525
We're running a Windows SBS 2003 server with 4GB of RAM where I work, and the "commit charge" is initially around 3.5GB (which is in line with the memory usage of processes running), but tends to increase to sizes well over 5GB and stay up there with no apparent increased memory usage in the task manager. Is this normal? If it is a memory leak, are there any effective ways to track possible sources? I've been looking into current and peak memory usage statistics in the task manager and the "Server Management" application, but haven't found much that would explain the increased memory usage.

Thanks.
 
Do you have all your updates?
Regardless of what antivirus product you use...do you have the proper exclusions in the real time file protection?
http://www.sbsfaq.com/Lists/FAQs/DispForm.aspx?ID=137

Have you run the SBS BPA?
http://www.microsoft.com/Downloads/...7A-DE19-49BB-800F-352F3B6F2922&displaylang=en

How many users?
Is sharepoint used?

Memory hungry processes in SBS include several SQL instances....SBSMonitoring, Sharepoint, etc..as well as the Exchange Server Infostore. Those are normal, they'll expand and utilize whatever you have in the box.
 
Around 70 users, have all of the latest updates, using SharePoint... It's main purposes are SQL, e-mail, filesharing, remote access (VPN, RWW), and DHCP. I have not yet looked into antivirus exclusions (was set up before my time) or the BPA software, but I will... Thanks!

I've been working on overhauling and updating a lot of the hardware and software around the building since I took the job; I don't have a whole lot of experience in the server space, but my predecessor seemed to be particularly clueless and lazy... So thanks for any advice :)
 
Yeah you're bumping the limits of SBS...70 users, and you appear to be using the Premium package since you mention SQL. SQL itself is a heavy resource hit if you're using full SQL behind the default built in MSDE instances for SBSMonitoring, Sharepoint, etc.

I'd expect to see RAM use pegged on the box with this load. Which is fine....that's what RAM is there for.

After running through the above AV fine tuning steps, and following the BPA suggestions, take a look at things, and if performance is still low, consider other options. If you intend on growing..at 70 users, I would be reading on steps for the Microsoft Transition Pack, to move "beyond" SBS with its 75 CAL limit..and start preparing for the move to separate servers. Logical step would probably be 3x minimum separate servers..a DC, an Exchange, and an SQL.

*edit* I have 2 clients which run on SBS which are above 60 users, one of them is the central office for a wide area network and that box also runs SQL. It does the job well.
 
Growth is a decision above me... We're a not-for-profit, so money can be a contentious issue around here. Right now, I'm just trying to make the best of what we already have, which was definitely not being used effectively when I came in earlier this year. SQL is by far the biggest resource draw we have, but our database is relatively small (related memory usage is hanging around 2~2.5GB)... Performance isn't bad, and I'm not surprised that we exceed our physical RAM limitations from time to time, but it just strikes me as odd that usage can grow by gigabytes and never come back down. Hopefully the latest round of updates coupled with your tips can iron that out.

We do have enough hardware floating around here to split server duties among multiple boxes (though nothing else that could handle the database stuff at the moment), but the current setup is so entrenched, and significant downtime is almost not an option (I had 12 hours overnight - thanks to a religious holiday - to perform the last major hardware overhaul), that I'd rather wait until we get approval for a whole new server and get that up and running cleanly before re-purposing the older stuff.
 
As a non-profit...I'm hoping you are familiar with techsoup.org?
For your software resources. Incredibly cheap.

Example...a client that I'm remoted into doing work right now, in NYC, they purchased about $12,000 retail price worth of MS software for...hmmm...I want to say 1200 bucks.

Several months ago a bigger client I had quality, over $20,000 retail worth of MS software for under 2 grand.
 
Lordy you got that right, about Information Store using ton of resources. My daily alert log in email constantly complain about Store.exe taking up a ton of resources. The server only had 2gb of RAM when I started in this company. I was like uhhhh.. no, this just won't do.

Upgraded it to 4GB (32-bit OS, bleh) and it's running smoother, but I'm still getting warnings that Store.exe is taking up too much resource.

I just ignore it. The server's running just fine.
 
I just ignore it. The server's running just fine.
Sure, it works just fine, but when memory usage balloons like that and doesn't come back down, the swap file constantly comes into play, and that can cause some unnecessary wear on the hard drives. I don't worry about warnings that processes are using too much memory, but disk activity levels are particularly high. The simple fact of the matter is that the server runs fine using 3.5GB of RAM after a restart, but within a month or so, it's up to 5 or 6GB, and staying there, even though the task manager only shows that applications are only using 3.5GB.
 
Sure, it works just fine, but when memory usage balloons like that and doesn't come back down, the swap file constantly comes into play, and that can cause some unnecessary wear on the hard drives. I don't worry about warnings that processes are using too much memory, but disk activity levels are particularly high. The simple fact of the matter is that the server runs fine using 3.5GB of RAM after a restart, but within a month or so, it's up to 5 or 6GB, and staying there, even though the task manager only shows that applications are only using 3.5GB.

Oh I can definitely understand that, but I'm limited by a 32-bit operating system. There's nothing I can do BUT ignore it unless I want to bring the server down and migrate us to 64-bit and throw in more RAM. I would love very much to bring it up to 16gb (maximum for my particular server).

The server is running on 2x 76GB RAID1 and 3x 147GB RAID 5 plus another 3x 147GB RAID 5, all of them SCSI drives.. if the drive wears out, I'll just replace it with another and let the hardware RAID controller rebuild it. I've had to replace three drives over the past several years.

We have 47 employees in Active Directory and Exchange accounts in addition to MS SQL 2000 Standard and WSS 2.0 on that server, so it's running on full load.

Maybe one day I'll build a 64-bit server and migrate everything over. :cool:
 
Sure, it works just fine, but when memory usage balloons like that and doesn't come back down, the swap file constantly comes into play, and that can cause some unnecessary wear on the hard drives. I don't worry about warnings that processes are using too much memory, but disk activity levels are particularly high. The simple fact of the matter is that the server runs fine using 3.5GB of RAM after a restart, but within a month or so, it's up to 5 or 6GB, and staying there, even though the task manager only shows that applications are only using 3.5GB.

What is your hard drive setup? A heavily utilized server such as yours, I'd want to see a pair of drives mirrored for the OS, and triple drives in RAID 5 for the Infostore, SQL, and data shares. If possible..a third disk/volume just for the swapfile.

You can "harness" the native MSDE instances using SQL Studio Express to cap the RAM use of the native instances.

You mention after a month of running straight...it's run away in RAM use. For such a heavily utilized server, may want to consider bouncing her weekly...or at least biweekly. The 1 super utilized server I mentioned above that I have at a client, hammered with SQL hard, managing the wide area network...I have a script that bounces her every Sunday night.
 
We're running two 10,000RPM Ultra320 SCSI RAID 1 arrays (one for the OS, one for SQL, e-mail, shares) with a fifth drive (IDE) for nightly backups... And then a tape drive for further regular backups; the tapes are then kept in a water/fire-proof safe.

As for regular restarts, I should be doing it monthly (for Microsoft Updates 'n such, at least), but it's just been running so much more reliably since I started working on it (one restart in six months, I think, and that was because some contractor did something he shouldn't've) that I didn't give it much thought. Aside from the ballooning RAM usage, everything's remained pretty solid.

*knocks on wood*
 
That should be a decent drive setup. perhaps experiment with moving the pagefile.sys over to that IDE drive..depending on the size of the drive. Having the pagefile.sys moved to a totally different spindle, one that is not used much, gives leaps in performance (even on desktops/gaming rigs ;) )

So follow that antivirus setup guide, and run the Best Practice Analyzer and follow the suggestions..it's a great tool. It also gets updated every few months, so every now and then..have it check for online updates..and run it again. It checks your setup and compares it against recommended guides...finds errors in your setup..and shows 'em to you with links on articles on how to fix things. Great tool.
 
Yeah, I generally keep the pagefile separate from anything important, but like I said, performance isn't the issue here.

I looked into the anivirus stuff, and ran the BPA (didn't find much to complain about, and nothing serious), but the memory usage still climbs past the 4GB physical limit after about a week. So I appreciate the tips, but it looks like more frequent restarts is the best way to go for the time being.

Thanks!
 
Have you looked at Task Mangler....sorted by RAM use, and look at which processes are eating up the most RAM before you bounce her?
 
Speaking of memory leaks....last week I worked with Microsoft support for a few days straight on a server that was having some performance issues....runaway processes such as lsass.exe. They tracked it down to a corrupt .dll from the antivirus software. Perhaps, realizing the potential for danger, you can try uninstalling the antivirus on the server for a week or so..and see if performance stabilizes?

I found it low risk to uninstall the antivirus on my client...as their e-mail all goes through an SMTP smart host center which "washes" the mail first, in addition, I have Untangle UTM appliance as their firewall (2nd layer of scanning for the network)..and no ports on the SBS box exposed to the internet..clients have to VPN in first.

Also..which particular processes are skyrocketing in RAM use? If they're SQL based...perhaps look into SQL Studio Express management console to cap the peak RAM usage of instances.
 
Doesn't seem to be anything related to our anti-virus software as far as I can tell... Through what means did you pinpoint that corrupt .dll?

As I said earlier, SQL's the killer when it comes to memory usage, and looking into Process Info in the Enterprise Manager console, I'm now wondering if our BlackBerry server software may be part of the problem; its Memory Usage numbers are pretty high. I assume those numbers are high due to volume and don't necessarily mean that it's hogging significant physical memory, but might that be part of the issue?

What's the best way to itemise and assess memory usage in SQL Server? I don't think I have Studio Express installed (though it seems to be a relatively simple download from MS).
 
Back
Top