Windows 9x TweaksBasic Windows 9x troubleshooting and performance tunning.
1999.03.28 17:02 by Philip
Tags: defragment, virtual memory, swap file, Registry, vcache, Emm386
Defragmenting Hard Disks
Working on your system, deleting and modifying files causes Hard Disks to become fragmented, resulting in slower overall system performance. You should defragment on a regular basis, once or twice a month, depending on how much you use your system.
To defragment your Hard Disks using the default Windows utility, close all running applications, disable the Screen Saver and start from Programs > Accessories > System Tools > Disk Defragmenter
Note: defragmenting might take over an hour to complete, if you have large hard disks, or your system is heavily fragmented.
Virtual Memory Settings
If you let Windows 9x manage Virtual memory settings, the System often resizes the swap file ( the simulated memory on your hard disk ), and can use up to the entire free space on your Hard disk for caching. There is no single optimal setting for the swap file size, because it's dependant on the number of programs running at one time, and on the amount of RAM in your system. It should be at least the amount of your RAM, i.e if you have 32 meg RAM in your system, the swap file should be at least 32 meg to reduce the chance of "out of memory" errors.
By choosing a custom Virtual memory setting, you can optimize your system by having a constant swap file size. It not only eliminates the processing time Windows takes to resize the file, but also reduces the fragmentation of your Hard Disk. Note: It might be a good idea to defragment your Hard Disk before editing the swap file settings, so the swap file itself won't be fragmented. Here are the necessary steps:
1. Navigate to Control Panel > System > Performance > Virtual Memory and choose "Let me specify my own virtual memory settings".
Note: If you have more than one Hard Disk, use the fastest/newest one for your swap file location.
Conservative Swap file usage
This tweak applies to Windows 98/98SE/ME.
Windows 9x seems to do some excessive paging to hard disk, regardless of the amount of RAM in your system. This conservation of RAM is often unnecessary, it wastes RAM and degrades overall performance. We recommend applying the following tweak to all systems with 128MB RAM or more (and no exessive paging). You might get mixed results with PCs with less than 64MB RAM, you'd have to test to see how it works in your environment. This tweak forces Windows to use all available RAM before paging to the hard disk:
For all PCs with more than 16MB RAM, you can gain a bit more speed by changing your computer's role from Desktop Computer to Network Server.
With the Desktop Computer Setting, VFAT allocates memory for the 32 most recently accessed folders and the 677 most recently accessed files, consuming approximately 10K of memory. When you use the Network Server setting, VFAT allocates memory to record the 64 most recently accessed folders and the 2729 most recently accessed files, consuming approximately 40K of memory. The additional 30K RAM is well worth it.
To change the setting, right-click on the 'My Computer' Icon. Click 'Properties' then 'Performance' and choose the 'File System' tab.
Note: There is a bug in the original Windows 95 and Windows 95A with the 'Network Server Setting. Download and install this patch to fix it.
Windows 98 Drivers Bug
Windows 9x/ME does not install some vxd files in your system directory by default, adding them manually has proven to help for a healthy setup with less crashes. To resolve 20 to 50% of the system errors in any Win9x build, extract these vxd files manually from cab 47 and 48 (might be in different cab files, depending on Windows version. In Windows 98SE for example, they are in cab 53 & 54) into both c:\windows\system\vmm32 and c:\windows\system
The following files should be extracted: vcomm.vxd, vdmad.vxd, configmg.vxd, vdd.vxd, vmouse.vxd, ntkern.vxd, vflatd.vxd. Extract these files and reboot. Your system will love you for it.
Note: The above is not reported or confirmed by Microsoft, and there seems to be some controversy on whether extracting the vxds really improves anything. Judging by the hundreds of positive replies we've received, it fixes numerous problems in the operation of Windows. VMM32.VXD is a generic, slower MS driver, build at Windows installation. Some of the drivers needed on your system, including these vxd's are supposed to be part of VMM32. As it turns out, however, it generates quite a few problems with many systems. Extracting the vxd's to the vmm32 directory provides for loading the drivers separately. It has been proven to fix lockups, error messages at start-up, VMM errors, erratic/slow mouse movement and many others...
To check if you need the vxd's yourself, look in the Driver File Details tabs in your Device Manager ( Control Panel > System > Device Manager ). If you find entries containing 'vmm32', there's a good chance you need to extract these manually. For example, in my Modem Driver details, I had " C:\WINDOWS\SYSTEM\VCOMM.VXD (VMM32) " before, and just " C:\WINDOWS\SYSTEM\VCOMM.VXD " after extracting the vxd's.
Note: if you're upgrading, rather than doing a clean install of Windows '98, you might have the old Windows '95 vxd's in your system. You can check the file versions ( they should be 4.10.1998 ) if you want to find out whether you need the above vxd's.
Editing the Windows Registry
The Registry is the key to Windows 98. It contains the vital information Windows needs to operate, and is the best place to optimize or customize almost anything in the whole OS. By all means it would be to your best advantage to learn about your registry and play around in registry editor (regedit.exe). Here are some tips, but please, use them wisely and make sure you know what you are doing first:
If you feel pretty safe, or you back up your registry/hard drive often, you can decrease your boot up time by removing the line: [ C:\Windows\Scanregw.exe /autorun ] in the same key location as above (for Windows 9x). That's what backs up your registry and then compresses it each time you start Windows which makes for unwanted delay.
Vcache is the Windows disk-caching virtual device driver. This is a very important part of Windows, as it provides excellent disk performance. Windows, however, limits vcache from its total potential. The following tweak will keep Vcache from taking up all your RAM, and being resized all the time.
Here's how to improve it. Type 'sysedit' in your 'start' , 'run' dialog box and navigate to "System.ini". In the ini file, look for [vcache] and add the following:
'MinFileCache' and 'MaxFileCache' should be the same ( about 25% of your RAM ) to avoid resizing. 'ChunkSize' should generally be '512', but you can omit that one. You should set MinFileCache and MaxFileCache to about 25% of your total RAM for best performance, i.e 8190 for 32Mb RAM, 16384 for 64Mb, 32768 for 128Mb...
These are sample settings from one of our PCs ( 256Mb RAM, Windows 98 )
Notes: Generally, the more RAM you have, the larger vcache can be. Remember that the RAM used by vcache can't be used by applications. Also, Windows 98/98SE has better memory management than 95, so you might not notice much improvement using that tweak.
Windows98 Setup and EMM386
During setup Win98 will remove some drivers from your Autoexec.bat and Config.sys files. Unfortunately it removes EMM386 for Win98's first time use so it can detect hardware without problems but forgets to "un-REM it". Make sure you are using EMM386 and have optimal options set. You can still use memmaker for Win98. Also, make sure you aren't using any old dos TSRs like DosKey or other unnecessary files.
Windows 98 loads EMM386, but there are some command line switches that can improve your system's performance. For example, if you have "EMM386.EXE ram" or "EMM386.EXE noems" in your Config.sys file, it will enable you to load the drivers after that in the Upper Memory block, instead of Conventional Memory. To load devices in UMB, use devicehigh in Config.sys, and lh (loadhigh) in Autoexec.bat. "DOS=UMB, HIGH" in your Config.sys will free up Conventional Memory as well. You can type "mem /c/p" in DOS Prompt, to see what's loaded into memory, and where.
Note: It is important to follow some rules when editing your Config.sys. The first line should load Himem.sys, the second EMM386.exe, and any other drivers should be after those two.
If you still use BUFFERS - FCBS - LASTDRIVE - STACKS commands in your Config.sys file, make sure that you are using the BUFFERSHIGH - FCBSHIGH - LASTDRIVEHIGH - STACKSHIGH commands, available in Windows 95, to free more conventional memory.
For extensive Internet tweaking read the Broadband related articles on the site and check out our Network tools.
Here are some additional pointers specifically for Windows 9x: Go to 'Control Panel' and click 'Network'. Make sure you have 'Client for Microsoft Networks' to save trouble. If you don't have it this is why your Internet Dial-up Password wouldn't save. Click on 'Dial-Up Adapter' and select Advanced. Go to 'IP Packet Size' and experiment with Small, Medium, and Large packets to see which one works best for you. Hint: Use Large for broadband, (small/medium for dialup)
Also there is a value in your registry called 'SLOWNET' and it is usually set at '01' change this to '00' It won't dramatically increase your transfers but it will reduce timeouts. The key is as follows:
In dial-up networking, uncheck the 'Log on to Network' under Server Types. You can also get rid of the "NetBEUI" and "IPX/SPX".
NOTE: This will only effect your login time. In some cases it is necessary to keep this box checked.
To improve your system's reliability and gain some more speed, you should remove the multiple devices that build up when changing drivers and hardware. Restart your PC in Safe mode ( Press F8 while system is booting and choose Safe Mode from the menu ).
Right-click on the "My Computer" icon, choose "properties", open the "Device Manager" tab. Check all the device categories, and remove all but the first instance of the devices on your system.
Note: Don't change your devices' properties while in Safe Mode.