VOICE Home Page: http://www.os2voice.org
[Previous Page] [Next Page]
By Christian Hennecke ©July 2000 |
The OS/2 Files: http://www.os2world.com/os2files/
Hopefully last month's tips already boosted your machine's performance to Warp
speed. There is still a lot more to improve. This month we will look at increasing
OS/2's responsiveness and stability and also see what can be done in case of crashes.
This article is part of a series on improving your OS/2 system that is published
in the VOICE Newsletter. Last month's article covered CD-ROM and hard drive performance.
All the tips can be viewed at my homepage at http://home.foni.net/~chennecke/index_e.html
by selecting the tuning link.
Again: These tips apply for the most part to all versions of Warp, unless otherwise
noted. They also take into account that you might be running an old, slow machine.
There may be errors or omissions that might lead to your machine blowing up. I strongly
advise you to make a backup before fiddling around with your system's settings.
You've been warned.
For credits please see "How
to Supercharge OS/2 Warp - Part 1" in the June 2000 issue of the VOICE
The PRIORITY_DISK_IO=YES statement in your
CONFIG.SYS file will give hard drive access priority to any program running
in the foreground. What this means is that while I am doing a download in the background
from Hobbes, for example, and typing this file in the IBM Works word processor in
the foreground, the word processor gets priority to access the hard drive. In reality,
the download should be getting priority access to the hard drive. My experience
has been that setting this parameter to NO makes my system multitask more
smoothly than with the default of YES. Try it out and see.
Luckily, help is near. Get Henk Kelder's WPTOOLS
package (there is also a commercial package available called UniMaint that also
contains other desktop maintaining tools). The contained tool CHECKINI
is able to detect all the dead handles and several inconsistencies and errors and
to correct them. Try CHECKINI /C. (Note: In
case you are using multiple CONFIG.SYS files and you are uncertain about
used WPS classes, reboot to a maximum configuration beforehand. Otherwise WPS classes
that are still needed could get deregistered.)
To get rid of superfluous INI entries you have to open OS2.INI with
an INI file editor like REGEDIT2 that comes with Warp 4 or one of the several
others you can find at Hobbes or LEO. Then scan the file
for entries you suspect to be related to de-installed programs and delete them.
WARNING: Always be sure to backup your INI files before editing them. Note that they are hidden system files.
OS/2 has a habit treating the INI files that can get very annoying, as it periodically
leaves the system in an unresponsive state. Since OS/2 2.1 the INI files OS2.INI
and OS2SYS.INI are kept in swapable memory. Now if you make any changes
to the WPS or some system entries an update becomes necessary. Every 2-5 minutes
these changes are committed by writing the entire INI files to disk. These write
operations bypass the file cache and are done in chunks of 32K or less. With an
INI size of 1.2MB about 40 write operations are needed. Additionally the way they
are done forces a complete update of all disk structures after each write operation
and all this is done with very high priority. Originally this design intended to
decrease the risk of data loss, but the sheer size of today's INI files makes it
very ineffective, also in terms of security.
This is where a patch by Peter Fitzsimmons comes in. This patch is applied to PMMERGE.DLL and redirects the calls normally made for opening the INI files to a new DLL. This new DLL intercepts those calls, filters out the "don't use the cache" flag and hands them on to DOSCALL1. Now the files will be written in a single operation using the cache and the disk structures will only be updated once, too. Since I have applied the cache I have never seen the system get blocked by INI writes again. There is no runtime performance penalty, only a very slight load time impact.
SET PM_ASYNC_FOCUS_CHANGE=ON x
If an OS/2 program runs into a problem and will not respond, you should always
try the Ctrl-Esc key combination to try and bring up the window list. Doing this,
in many cases, will detect a failed application and give you the option to terminate
it. Sometimes it might take as long as 1 minute for the system to respond. If this
fails, try cycling between Ctrl-Esc and Alt-Esc, as this combination will get a
higher priority from the operating system than Ctrl-Esc will. If all else fails,try
a "warm boot", which is the Ctrl-Alt-Del key combination (computer version
of the Vulcan Neck Pinch <grin>). OS/2 will intercept this key combination
and try to close as many open files as it can before actually rebooting. If you
reach over and just flick the reset button on your PC instead, then you stand a
good chance of corrupting data files, or even worse, corrupting your precious OS2.INI
and OS2SYS.INI files. You will also have to endure a CHKDSK upon rebooting.
An even better alternative is to use WatchCat. This tool can be used to terminate
badly behaving processes. However, WatchCat in its raw form isn't capable of much
more than standard OS/2 itself. But it is extensible with one of the freely available
extension DLLs (archives WKILL9 and WNICE on Hobbes and LEO)
that interface the XFree86/OS2 support driver and facilitate its extended access
capabilities. Of course you will have to install the driver. To use it with Warp
3 you will need at least fixpak 17. This will allow you to kill even some badly
If you note frequent hard crashes where only pressing the reset buttons helps
and data gets corrupted, you may be experiencing RAM problems. OS/2 is very picky
about hardware. Try to lower the settings for memory access in your motherboard's
BIOS and see if that helps. It also might be a good idea to exchange the RAM cards.
Many people have told me that their systems ran more smoothly, and that they
had more available RAM, after they de-registered the IBM Works package from the
Work Place Shell. You can try this yourself by using a CMD file provided with the
Works program. At an OS/2 command prompt, change to the IBMWORKS directory.
In this directory are two related CMD files. One is named IBMWDESK.CMD,
and will register the IBM Works programs with the WPS. The other file is called
IWDEREG.CMD, and will de-register all the IBM Works component programs
with the WPS. After de-registering you will still be able to use the Works programs,
but you will find that their inter-operability will be hampered. If you use these
programs as stand-alone software, and don't need to use drag-and-drop between them,
then this might be an easy way to speed up your system. If you decide later on that
this was not a good idea, then you can always reverse the process by running the
IBMWDESK.CMD file, which will restore all the proper links between programs.
Please note that after running either file, that it will be necessary to shut-down
and reboot in order to finalize all the changes that were made.
So we have come to an end again. Next month we will look at quite some opportunities
to reduce RAM usage and get back some bytes.