The System Properties panel is one of those things that has been in Windows forever, but most people don’t understand how it all works. Today’s Geek School lesson explains it.
This panel contains settings for some important Windows features, including the virtual memory paging file, system protection, data execution protection, processor scheduling, environment variables, and startup options for dual-boot configurations.
Most settings are not things you need to change often and in most cases you should probably just leave them at default, but it’s good to understand why something is set a certain way and whether or not you need to fiddle with this.
Accessing the advanced system settings panel
Getting to the System bar in Windows 8 is very easy as you can right-click on the Start button or Start corner and select System from the menu.
If you’re using Windows 7 instead, you can navigate through the control panel to the system page, or right-click on the computer and select Properties. Any of them will take you to the same place, the system panel.
From there, you’ll want to click on the Advanced System Settings link on the left.
It may sound a bit odd, but Windows opens directly to the middle tab of the System Properties dialog, mostly because the first two tabs aren’t that interesting.
You can find a lot of different things in the Advanced tab, including performance, user profiles, startup, and environment variables. The average user doesn’t need to configure anything here, but there are some nice configuration changes you might need under certain circumstances.
Clicking the «Settings» button in the «Performance» section will give you a lot of options. In the «Visual Effects» section, you can customize all the additional animations and elements that enhance the look of Windows. We recommend leaving this up to Windows unless you have a good reason to change it. (Personally, we always turned off the annoying minimization animation, but left the rest alone).
The Advanced tab gives you another option that needs a little explanation. The processor scheduling feature allows you to choose between programs or background services. A quick explanation is that when you’re working on a desktop system, you should always leave this set in Programs for best performance.
Quanta and Threads
The longer, weirder explanation is that this setting controls the Win32PrioritySeparation value in the registry, which then determines whether Windows uses the Quantums variables or not.
Windows applications and processes are internally broken down into threads, which are the actual units of work that run on the processor. Windows manages these threads to make sure that each application thread can run the processor for a certain amount of time before Windows switches to another thread. This is the basis of how Windows allows you to run multiple applications at the same time.
A quantum is the amount of time that Windows allows a thread to run before another thread with the same priority can run. The quantum value can depend on a number of values, including whether variable or fixed quantums are allowed, which controls this setting.
When you set Processor Scheduling to Programs, Windows enables variable quantums and gives higher priority and longer quantums to threads attached to the foreground window. This is good for desktop users because the foreground application takes most of its resources from the CPU, and switching between other threads quickly makes the user interface more responsive to updates in the background.
When you change the switch to this value, Windows uses a fixed (and longer) quantum length to try and make sure all processes get roughly the same amount of time (at least if they have the same priority). This is much better for servers or workstations acting as a server because system services will get equal time if they are given the same priority and everyone else is equal.
Note: this is an overly simplistic explanation of how it all works, and there are many other factors involved, but that’s the basic idea.
A few years ago, it was really popular to either disable the swap file entirely, or make the swap file really gigantic, or somewhere in between. And then there were all the people who split the swap file across multiple drives or insisted that you delete it from the system drive.
Everyone had a theory and their own calculation of what would give you the highest performance. We’re not going to go back in time and discuss all these people, because we don’t live in the days of 64MB RAM and Windows XP anymore.
The thing is, with a modern PC that contains several gigabytes of RAM and modern versions of Windows (meaning at least Windows 7, but actually Windows 8.1), you don’t have to mess around with the swap file at all.
Interesting fact: Since Vista, Windows has changed its core memory management system to prioritize each page of RAM, rather than just using the first-in-first-out method that XP used to do. So when Windows decides to move something from RAM to the pagefile, it will generally move what you don’t really need into active memory.
Don’t disable the swap file
Disabling the swap file will generally work if you have enough RAM, but it will also mean that any application that expects the swap file to be there will just hang instead of slow down. Don’t worry about the tiny performance boost you’re unlikely to get. Windows 7 and 8.1 are only good at paging when it’s really needed.
Reducing page file size
If you’re using a smaller SSD as your boot drive and need to save space, you can reduce the page file size slightly by unchecking «Automatically manage page file size for all drives» and changing the settings to Normal size. We don’t recommend making the size too small — at least 1 GB is probably a good bet. An even safer bet is to just let Windows handle it. If you’re using Windows 8.1, you’ll find that it’s much smarter about the swap file.
Data Execution Prevention (DEP)
This tab allows you to configure DEP so that it works for all programs instead of being enabled only for Windows itself. What is DEP, you ask?
Data Execution Prevention is a feature that is available in 64-bit versions of Windows that allows pages of memory to be marked as data by calling a hardware function in the system processor that prevents that memory from executing at any time. This prevents some types of buffer overflow attacks, where an attacker places executable code in a location in memory that should contain normal data, such as a string value, and then tricks the application into running that code.
What’s interesting about this dialog and this setting is not that it can be changed, but that dozens of tech blogs over the years have written about it and claimed that it allows you to turn off DEP on your system, which is not just wrong, but actually Varieties in reverse. Here are the dialog options and their meaning:
- Turn on DEP for essential Windows programs and services only — This setting enables DEP by default for Windows processes, 64-bit applications, and any 32-bit applications compiled to enable DEP.
- Turn on DEP for all programs and services except the ones I chose — this option enables DEP for everyone process, if you have not selected a process in the box below, for which you want to disable it.
Note. There is actually a way to completely disable DEP using BCD, but this should never be done. Most good apps these days will support DEP, so you don’t have to worry about that.
If you want to check your system and see what DEP supports, you can open Task Manager, go to the Details tab, right-click on the column headers, and use the Select Columns feature to add a Data Execution Prevention column. On our test system, every process we used had DEP enabled, including the 32-bit version of Chrome.