12.11.2013 Views

Tweaking Optimizing Windows.pdf - GEGeek

Tweaking Optimizing Windows.pdf - GEGeek

Tweaking Optimizing Windows.pdf - GEGeek

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The registry key defaults to zero which means 256KB. Change the DWORD value to 0x200 for 512KB or 0x400 for systems with<br />

1MB of L2 cache. Reboot to make this change. I've made this change on a few servers and workstations. It makes a noticeable<br />

difference. This tweak can be implemented by using XenTweak.<br />

8. Increase your I/O<br />

Originally considered a tweak for high volume file systems only, the mad progression of yesterday's server-power into the home has<br />

changed the audience of those optimising the IOPageLockLimit registry value. By default, the value is set to 0, which NT translates<br />

into 512KB. For most users with an ample amount of physical memory (RAM), leaving this setting as 0 will not negate them any<br />

caching performance increase. A machine with heavy file I/O traffic and a fair amount of unused physical memory is just begging for<br />

this tweak. Such a system would likely benefit from having an IOPageLockLimit of 64 to 128 times the total physical memory size<br />

measured in MB, but then recorded in KB (you'll see what I mean in a second). So, for example, a 128MB system should be set<br />

between 8192KB and 16384KB, as the decimal setting. This is a good formula for systems with 128MB of RAM, and higher.<br />

For machines with less memory, I suggest starting with a value of 1024KB, and utilizing a "real-world" benchmarking suite like<br />

ZDNet's Winbench 99 to bench the performance effect of raising the number of bytes locked for I/O operations. Raise this value by<br />

1024KB per trial, until you see a point of diminishing performance returns. This very well may be 1024KB, 4096KB, or even higher.<br />

Each system really requires a different setting. Not all systems experience the same amount of file I/O operations, and not all<br />

systems experience disk I/O bottlenecks in the same way, since processor power, disk access & transfer rate, and memory size all<br />

play a part in overall performance. So, be prepared to tweak here and there.<br />

How To Implement:<br />

Make certain that you've got everything else in working order, including UDMA (if you have devices that support it). Launch a<br />

registry editing tool of your choice (regedit.exe or regedt32.exe will do).<br />

Advance down to the following registry key:<br />

HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management<br />

In this key double-click on the IOPageLockLimit registry value to open a DWORD editor window<br />

(default value of 0 = 512KB).<br />

Change from Hex (hexadecimal) to Decimal, change the value in the data field to reflect your preferred allocation size in KB (1024,<br />

2048, etc.).<br />

Close the registry editor app, and reboot to implement the change.<br />

RAM IoPageLockLimit<br />

(MB) Decimal Hex<br />

4 4096 1000<br />

8 8192 2000<br />

16 16384 4000<br />

32 32768 8000<br />

64 65536 10000<br />

128 16384<br />

256 65536<br />

512 131072<br />

But I've seen the value in bytes, not KB. In my years of using NT I've come across a few folks who've claimed that the numerical<br />

values for this tweak should be entered in bytes, and not kilobytes (e.g., 4096000, not 4096). Nonetheless, the KB values work<br />

like a charm.<br />

9. Disable extra sub-systems<br />

If you use the UNIX tools that accompany the NT Server Resource Kit, you won't want to kill POSIX. Other than that, chances are -<br />

you don't need these. Umm, most everyone who is a tried and true NT tweaker should busta cap in these two subsystems. Other<br />

than that, chances are - you don't need these suckas. There's a lot of debate concerning just how much a tweak like this will earn<br />

ya in terms of improved performance. I have consistently argued that the performance benefit for implementing this optimization is<br />

marginal at best, but what I have noticed (as have many others) is that the CSRSS.exe process earns a smaller footprint.<br />

Additionally, the process /seemed/ to grow a little less aggressively the more I opened and closed applications. This is a tweak for<br />

the true Tweak freak. Unlike some of our more apocalyptic tweaks (the UDMA tweaks constantly brings in reports of people loosing<br />

bowel control after witnessing the improvements gained), this is for the NT lover who just knows that there's no sense in these<br />

subsystems being enabled when they're not ever put to use.<br />

How To Implement:<br />

Launch <strong>Windows</strong> NT Explorer, and browser to the %windir%\system32 subdirectory.<br />

Rename these files: OS2.exe, OS2SS.exe, and PSXSS.exe (to filename.3x3, or whatever you prefer)<br />

Shutdown any open programs, and reboot to implement the change. Laugh at how seriously easy this is.<br />

10. Use large system cache<br />

While <strong>Windows</strong> NT Server and Workstation are alike in many ways, the default methods they use for disk caching differ greatly. The<br />

Large System Cache option is one that can affect your disk I/O performance up to 50%! On NT Server, the Large System Cache<br />

option is enabled, but disabled on Workstation. The two different settings effect how the cache manager allocates free memory. If<br />

the Large Cache option is on, the manager marks all the free memory, which isn't being used by the system and/or applications, as<br />

freely available for disk caching. On the flip-side (with a small cache), the manager instead only sets aside 4MB of memory for disk<br />

caching in an attempt to accelerate the launch of applications. Or in a more technical approach, if enabled the system will favor<br />

system-cache working sets over process working sets (with a working set basically being the memory used by components of a<br />

process).<br />

This setting may very well benefit users with less than 96MB of physical RAM who don't have more than 2-3 applications open at the<br />

same time (those of you with 64MB or less are probably pushing it here). However, without testing this tweak on such a machine,<br />

I'd have to suggest 96MB of RAM or more as the rule for implementing this change. I've tested the change on my machine (Celeron<br />

300a @ 450Mhz, 256MB PC100 RAM, WD Expert 18gb 7200rpm drive), and have posted some Winbench benchmark results below.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!