Link to home
Start Free TrialLog in
Avatar of Calvin Close
Calvin CloseFlag for United States of America

asked on

SBS2011 and Exchange. "computer is responding slow to disk writes by an pervasive SQL app"

OK my 2011 SBS server is running an app called "Fiber" and "Exchange" has 16 gigs of ram and i am curious about whether or not Exchange is hogging up all the memory forcing fiber to have to do more than normal disk writing. I know that in general computer terms a pc that is using all of its available memory is forced to constantly write to a hard drive rather than memory. I have attached a screen shot of the resource monitor and I have confirmed the drives are all good. To my understanding Exchange by default will use the remaining memory on the server to make it function better so maybe I should specify an amount if thats possible. I am looking for options here.
resourcemon-shot--1--4-5-12.jpg
Avatar of Bill Bach
Bill Bach
Flag of United States of America image

You can change your PSQL engine by changing the memory allocation there.  First, start by decreasing the L2 cache (Max Microkernel Memory Usage) to 0.  Then, you may wish to raise the L1 cache slightly to compensate, but only if your database size is substantially larger.

Second, you may want to change the SQLServer configuration to limit memory to a slightly smaller value, too.  Reducing this can leave more RAM available for other tasks.  It MAY also be possible to reduce the amount of RAM Exchange uses.  

Otherwise, you now see why Microsoft recommends running Exchange on its own dedicated server (and how they sell more operating system licenses).  It may be time for a second server to split the load.
Avatar of Calvin Close

ASKER

ok so after doing a lot of google university searching... I have saw a couple of possible results to modify the max and min amounts of cache ram that exchange uses, however this leads me to ask another question as well. If i change this will it also limit the amount of ram that ISS is allowed for its sql functions? Microsoft says that as far as physical Ram amounts on a network of less than 20 user 4 gigs of ram should be adequate but I would like to allow 8 gigs of ram instead (double the recommended amount) and still have 8 gigs of ram for other server operations.. possible problems would be that a rollup update could potentially and has changed these values back to there default. I am not 100% clear on the proper what to set the values so any help there would be greatly appericated. I am a bit unsure about the L2 cache adjustment what are the overall affects presented here. I don't see a processor max out occurring just slow writes to hard drive during database functions apparently due to exchange abusing memory optimization.
Start small -- since PSQL is where your performance issues are right now, let's reallocate that memory first.  Once this is done, restart the engine and see how things go from there.  Perhaps Exchange will back off and not grab so much RAM if PSQL is given a bit more...
can you explain the steps or provide a link to what you see is a good recommended way to do this.
Start PCC, click "Configure Local Engine", go to the Performance tab.  Change Max Microkernel Memory Usage from 60 (default) to 0.  Increase the Cache Allocation size as you see fit.  It looks like this is a 32-bit engine, so a good start would be around 1GB (if you can afford that much memory for the database, and if your data files are larger than 1GB, of course).  Click OK to save the changes, then restart the box (or both services, if you know where that is).
Just as an update here we contacted the software people of the fiber program and they walked us through setting a larger amount of ram for prevasive to use default amount was 819megs they suggested bumping this amount to 4 gig and seeing what the exchange memory results would be. Now as it turns out after setting these options and restarting the server and attempting to log into Fiber the results were both very bad and unstable. Login's in some cases didnt work at all. Reseting this amount to default and rebooting the server brought things back to there previous state. I am now curious what to do next as a test to get the server to preform better. When Exchange is writing to the hard drive prevasive is able to do nothing but stop "freeze app" and wait, once exchange is done app unfreezes and normal function resumes.
Why, in the name of the server gods, would they even THINK of doing this?  Increasing the database L1 cache to 4GB will exceed the memory addressing space available to a 32-bit process, and instantly cause the engine to fail.  Perhaps this makes sense on a 64-bit engine, but you are running a 32-bit engine right now.

Bring the L1 cache back down to 800-900MB and get it stable, first.  You can inch up the cache further if you want,. but just keep an eye on the Virtual Bytes for the process.  If you hit 2GB on a 32-bit OS or 4GB on a 64-bit OS, you'll be in trouble again.  More information about monitoring this setting can be found here:
http://www.goldstarsoftware.com/papers/UnderstandingServerMemoryCounters.pdf
http://www.goldstarsoftware.com/papers/InterpretingServerMemoryCounters.pdf
http://www.goldstarsoftware.com/papers/CapturingVirtualBytesToALogFile.pdf
Well I am going to start looking over these links during the weekend and I will post more information as I attempt to make changes.. Thanks for you help this far and I am still wondering what lowering the amount of memory that Exchange can use will do. I am even under the impression that it may infact make exchange write to the hard drive more often and further worsen the symptoms that prevasive is having now. As far as why they suggested it the guy honestly sounded like he does it all the time.. so I am not sure what that means.
ASKER CERTIFIED SOLUTION
Avatar of Calvin Close
Calvin Close
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
glad i got this figured out