So servers should be set to Background services and system cache?
Main Topics
Browse All TopicsI know there are dozens of articles out there on this topic and many things that can be done to tune a servers performance. I'm only interested in 2 settings that seem to have a lot of controversy in all the forums etc... that I've read. They are Processor Scheduling and Memory Usage. I'm not interested in Virtual Memory as I know where to put the paging file and what to set it to. Please do not have XP and Vista in mind for these settings, I'm only interested in the server side settings.
Under Properties of "My Computer", Advanced, Performance Settings, Advanced you can set Processor scheduling to Programs or Background Services. Memory usage can be set to Programs or System cache. I have read so many articles that convolute this that I need some clarification please.
Lets start with processor scheduling. If programs is selected, more processor resources are given to foreground program than background program. This is confusing because it's a server, there shouldn't be any foreground apps running unless it's a terminal app server. Background programs to me means "not the active foreground app" but one that is minimized or behind the active window. Again, being a server if its not a terminal app server there shouldn't be foreground background apps. Please explain this to me as I have my servers set to Background services so all apps receive equal amounts of processor. I don't know which one would yield the best performance.
Under Memory usage, all servers are set to System cache because they are servers. The ? for Programs says to only select Programs if it's a workstation and to use System cache if it's a server. This one seems a no brainer but please enlighten me.
We do have term servers and would suspect that processor scheduling for those servers should be set to Programs. Is that right or is there a baseline to use when setting these two options for any server?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Normally this would'nt affect the users as you will not be working on the server console (i.e., noone is logged on on the server, except for Terminal Services offcourse).
But if you will be working on the server console a lot (and doing heavy tasks) and you do not want a lot of complaining users (and also you do not care about your work being slower) you should set it to Background services and system cache. :)
Good luck!
Business Accounts
Answer for Membership
by: JapyDoogePosted on 2009-06-04 at 01:11:27ID: 24544503
Background services is not for minimized / behind active window applications but for applications started as a service.
It's very easy to see what happens if you run a single cpu / single core server for testing:
Have IIS or Apache running on it, create a webpage using ASP or PHP that outputs the page generation time in miliseconds. Open the page and keep this value in mind.
Now extract a huge compressed file (or archive, or run SuperPI or an other benchmark) on the server's console and open the same page in the meantime. The generation time should be a lot higher now.
If background services are selected the difference will be smaller, so working on your servers console may be a bit slower, but does less affect the users that are using the server.
The memory part:
Programs 'take' at startup an amount of memory what they think they will need. Windows will use the free memory (not taken by a program) for caching much used files / applications.
When set to system cache, the cache will be bigger and programs will get less memory except when they really need it (instead of just taking it at startup just in case of).
I hope this helps you a bit :)