JOE SALEMI
Demystifying CONFIG.SYS in OS/2 2.0 . part 2
In last month's issue, we Figure 1: The h0,e, ETNA 012 Soarchl looked at three of the six Shuw Pal Loam] remainder of the (WP DDIAWPColorPalette:7055ItColor pal* system's configura- categories of command
PC Magazine June 1993 285 accessed recently to the back of the cache from the disk at one time. The default is 4 PRINTMONBUFSIZE=a,b,c and moving more frequently used data to if this parameter is omitted. IBM recom- This command sets the size, in bytes, of the front. mends setting it to 1/4 the size of the disk OS/2's LPT I, LPT2 and LPT3 print If the data in the cache changes, MAX- cache. For caches of 256K and higher, this buffers, respectively. If this command is AGE: controls the maximum amount of would mean a setting of 128 sectors (that omitted from CONFIG.SYS, the default time the system can wait (that is, laze is, 64K), which is the maximum allowable. (also the minimum) is 134 bytes per about) before writing the data to disk. Nat- The T setting doesn't increase the amount printer port. The maximum is 2,048 bytes. urally, this applies only if you have lazy of memory used by the cache, but it can You must specify values for all three ports writes active. If you've set L..1ZY=OFF, the have a significant impact on the level of even if you're only changing one of them. \IAXAGE: parameter has no effect on how hard disk performance. So, if you want to increase the size of the long the cache waits to write updates to the • AC: ddd This parameter is equivalent print buffer on LPT2 to 512 bytes, you disk. to the AUTOCHECK parameter for the should add this line to CONFIG.SYS: The default MAXAGE: setting is HPFS device driver: it tells the system to PRINTIONBUFSIZE=134,512,134 5.000ms (5 seconds). \A hiCh is really too automatically run CHKDSK /F on the long to wait. We recommend you decrease drive( s) specified when the system boots. According to IBM's recommendations, this setting to reduce the chances of data This is particularly handy for checking the you should change the buffer size to either loss in the event of a system crash, espe- drive on which you've installed the main 256 or 512, depending on the speed of your cially if you're storing critical data or run- OS/2 files. OS/2 keeps some of the system printer; generally, slower printers should ning a database that's constantly being files open the entire time it's operating, have larger buffers. updated. Like the BUFFERIDLE: parame- which prevents you from running ter discussed above, however, a setting of CHKDSK /F on that drive. Putting this PRIORITY= less than 500ms can adversely affect sys- command in CONFIG.SYS ensures that This is another parameter that controls tem performance. Depending on the num- the disk is checked for errors or problems OS/2's pre-emptiveness. The default is ber of updates you make to data on the disk, each time you start OS/2. DYNAMIC, which lets OS/2 change the the best setting. for preserving data The following example shows a priority of different tasks to ensure that integrity is between 5(10 and 2,000. DISKCACHE line for a system with 8Mb they all share the CPU's time. If you're The best way to find the right setting for of RAM and a mixture of FAT and HPFS running an application that depends on your system is to start with MAXAGE: set drives. It sets the cache to 256K, turns on critical timing, such as one that gathers to 500 and increase the setting by 250 at a lazy writes, sets the threshold to 128 sec- realtime data, you should change this set- time until you find the proper number for tors (64K), and runs CHKDSK /F on the ting to ABSOLUTE, which will prevent your situation. If one of your primary appli- C: drive when the system boots: the operating system from changing the cations is a disk-intensive database, for priority level of a task to ensure it gets a DISKCACHE=256, LW, 128, AC: C example, you'll probably end up with a set- chance to run. If one application has a ting of 1.000 or lower. You'll know you've FILES= much higher priority level than all other hit the proper balance between guarding This command is identical to its DOS tasks, the ABSOLUTE setting gives that against data loss and maintaining system counterpart. It sets the maximum number application, not the operating system, peribrmance when there are no noticable of open files for an individual DOS or complete control over when to release the pauses in the foreground application Windows session and has no effect on CPU. For all but critical timing situations, caused by frequent writing to the disk. You OS/2 sessions. The minimum is 20 (which leave the PRIORITY setting at can inspect the current cache settings by is also the default), and the maximum is DYNAMIC. running CACHE without any parameters at 255. Increasing FILES to 50 provides any command prompt. more than enough file handles for the PRIORITY_DISK_IO= majority of DOS or Windows applications. This parameter controls which applica- DI SKC AC H E= Note that many DOS applications are self- tions have priority access to the hard disk. This CONFIG.SYS command sets the size limited to using only 20 open files; no The default setting is YES, which gives the and parameters for the FAT disk cache: it amount of fiddling with OS/2 parameters foreground application primary access to has no effect on I IPFS partitions. The first can change that. the disk, at the expense of background parameter on the DISKCACHE command applications. If you usually run disk-inten- line must be the size of the cache. in kilo- MAXWAIT= sive applications in the background (for bytes. Following the cache size, you can OS/2 is a pre-emptive operating system, example, database sorts or large file down- add three other parameters (separated by which means that the system has complete loads), set this to NO, which gives all commas) on the command line: control over the amount of time different applications equal access to the disk. • LW Adding this parameter turns on applications can run before giving up the lazy writes for the FAT drives. The default CPU to another application. TIMESLIC E= is OFF. although lazy writes for the HPFS MAXWAIT= sets the maximum num- The final pre-emptive control parameter is cache can be turned off on the tly. To turn ber of seconds that a low-priority back- TIMESLICE=. It controls the minimum off lazy writes tin• the FAT cache you must ground task can stay idle. If this maximum and maximum amounts of time an execu- delete the LW parameter from time elapses, OS/2 increases the task's pri- tion thread can be active before it gives up CONFIG.SYS and reboot the system. All ority level to ensure that it gets a chance to the CPU to another thread. TIMESLICE= the cautions about performing a proper sys- run. The default is 3 seconds. which estab- can take either one or two values. If two tem shutdown discussed in connection with lishes a reasonable balance between values ( separated by a comma) are present, CACHE also apply here. smooth performance of the foreground the first sets the minimum number of mil- • T The T parameter is actually a sec- application and continued processing of liseconds a thread gets, and the second sets ond number. It sets a threshold for the num- background applications. IBM says there's the maximum amount of time. The bare ber of 512-byte sectors the cache will read no reason to change it. minimum is 32ms, and the maximum is
286 PC Magazine June 1993 65.536ms. The only rule is that the maxi- add their own data paths to the end of the bination. The default value is OFF, which mum setting must be equal to or higher DPATH. If not, the application manual may tells the applications to check for Ctrl-C than the minimum. If only a single value is tell you to edit this command and add the only during standard input or output, present, OS/2 uses that value for both the data path yourself. Either way, make sure printer output or auxiliary output. This set- minimum and the maximum. that the new information goes after the ting provides the best performance. Setting The T M ESL ICE= parameter is usually default data paths that OS/2 sets. That will BREAK to ON lets you break the operation omitted from CONFIG.SYS when OS12 is ensure that the operating system can find of the program at any time. This forces the first installed, so the operating system uses its own data files quickly. program to check the keyboard buffer for its default value of 32ms for both values. At • SET GLOSSARY= The GLOS- the Ctrl-C keystrokes constantly. Since this the default TIMESLICE= settings. if you SARY variable tells OS/2 where to find the will have a negative effect on the perfor- usually run more applications than you data files for the glossary portion of the on- mance of DOS and Windows applications, have RAM for, your system will waste a lot line documentation. The default setting is you should leave the setting at OFF of processor time paging data to the disk. the \ 0S2 \ HELP \GLOSS subdirectory on Studies by IBM and others have shown that the system hoot drive but, as before, you CODEPAGE= the best values under such circumstances can free up disk space by moving these Code pages are IBM's name for the cus- are ()4 and 128. These increase the time a files to another partition. You can also tomised character sets that establish the task runs before the operating system pages move the glossary files to an HPFS parti- keyboard and display characters for various the memory contents to disk, and can be tion to speed up searches. native languages. Code pages are identi- implemented by adding the following line • SET HELP= This variable tells OS/2 fied by number. In the UK, CODEPAGE to your CONFIG.SYS file: where to find its on-line help files. OS/2 defaults to the 437 and 850 code pages; 437 applications can also use the directory to is English, and 850 is a default multilingual TIMESLICE=64,128 which this variable points to store their own character set. The CONFIG.SYS line looks help files. The default location is the like this: Application configuration ,OS2 \HELP subdirectory on the system CODEPAGE=437,850 Like DOS. OS/2 can use environment vari- boot drive; again, you can move these files ables to configure OS/2 applications.These to another drive or to an HPFS partition to The first number is the initial code page variables also use the speed up searches. used. You can switch between code pages • SET PATH= This command is identi- by using the CHCP page# command at any
SET varname=carinand cal to the PATH command in DOS: it tells system prompt. Other code pages shipped format to put the value of the variable into the operating system where to find exe- with the operating system support the environment space. Note that SET cutable programs and batch files that aren't Japanese, Canadian French, Hebrew, Chi- commands in the OS/2 CONFIG.SYS in the current directory. Note, however, that nese and other languages. Although you apply only to the operating system and the CONFIG.SYS PATH command applies could change the CODEPAGE= value OS/2 applications. The PATH command only to OS/2 sessions. You must set the manually, since other settings depend on it, for DOS and for Windows applications PATH for DOS and Windows applications it's better to use the Country and Selective running in OS/2 is established in the OS/2 in the OS/2 version of AUTOEXEC.BAT. Install programs which are found in the \ ersion of AUTOEXEC.BAT. The five System Setup folder. environment variables OS/2 uses to control User preferences the overall operation of system utilities and The remaining CONFIG.SYS commands COUNTRY= OS/2 applications are BOOKSHELF, and parameters are used to configure fhe This command sets the default values for DPMI I. GLOSSARY, HELP and PATH. operating system to your liking. Some are country-specific parameters like the com- • SET BOOKSHELF= The BOOK- established when you install OS/2 and usu- mon formats for date, time and currency. SI1LL \ ariable tells OS/2 where to find ally don't have to be changed. You can add It's somewhat like the International the INF files that contain the on-line refer- or change the rest to customise the system Dialling Access code used to make long- ence manuals. OS/2 ships with two manu- to your working style. distance calls. The command takes two als: a command reference and a reference parameters. The first is a three-digit num- for the REXX extended batch program- AUTOFAIL= ber that tells OS/2 which country's defaults ming language. The default setting puts the This command tells OS/2 what action to to use. For the UK, the first parameter is \OS2 \BOOK subdirectory on the system take when an error occurs; for example, 011; for the US. it's 001. The second boot drive. You can free up disk space by when a disk is not ready or a file isn't parameter is the location of the file that moving these files to another partition and found. The default action parameter NO contains the various settings. This defaults changing SET BOOKSHELF= to point to pops up a dialog box with an error message to \OS2 \SYSTEM \COUNTRY. SYS on the the new location. If you have an HPFS par- and presents you with a choice of actions to system boot drive. Unless you have a cus- tition, for example, you should move the take. Changing AUTOFAIL to YES causes tom COUNTRY file, there's no need to reference manual files there to speed up OS/2 to simply display an error number change this setting. In the UK, the line is: searches. and return the error code to the application COUNTRY=011,C:\0S2\SYSTEM • SET DPATH= DPATH stands for that caused the error, precluding user inter- \COUNTRY.SYS data path; OS/2 applications can use this vention. You should leave this set to NO so environment variable to find data and con- you get complete information on system Again, it's best to make any changes to this figuration files that aren't in the current problems. line with the Country setup program in the directory. System folder. When you first install OS/2, DPATH is BREAK= set to the directories in which the operating This command affects only DOS and Win- DEVINFO= system data files are stored. End-user dows sessions. It determines how often an DEVINFO stands for dei ice information. applications, when installed, will usually application checks for the Ctrl-C key com- The command works with CODEPAGE to
268 PC Magazine June 1993 set up the character sets for different sys- OS/2 2.0 installation and performance considerations tem devices: the screen, the keyboard and the printers. Each device has its own DEV- Reference G325-5019 INFO= line; the first parameter on the IBM Technical Publication Centre command line determines which device (0256) 343000 will be affected. Screen controls are set by SCR, the keyboard by KBD, and the print- CONFIG.SYS ers by LPT#. where # is the printer port Complete Listing number 1. 2 or 3. IFS=C:\OS2\HPFS.IFS /CACHE:256 /CRECL 4 /AUTOCHECK:F • DEVINFO= statements for the screen PROTSHELL-:\OS2\PMS EXE and keyboard must be present; printer con- SET USER INI=C:\OS2\0S2.INI trols are optional and are usually installed SET SYSTEM INI=C:\OS2\0S2SYS./NI by printer drivers that require them. The SET 0S2_SHELL=C:\OS2\CMD.EXE second parameter establishes the default SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS setting for a device, and the third is the name of the file that contains the different SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE settings. In the UK, these two lines are SET COMSPEC- :\OS2\CMD.EXE placed in CONFIG.SYS when OS/2 is LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL; installed on a VGA system: SETPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\ DEVINFO=SCR,VGA,C:\OS2\VIO INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;F:\OS2\UTIL; TBL.DCP SET DEVINFO=KEtD,US,C:\OS2\KEYg% DPATH=C:\062;C:\082\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL BOARD.DCP ;C:\;C:\OS2\BITMAP;C:\OS2\MDOS;C:\OS2\APPS; You can use the Selective Install utility in SET PROMPT-41[$P] the System Setup folder to change these SET HELP=F:\OS2\HELP;F:\OS2\HELP\TUTO values as necessary. SET GLOSSARY=F:\OS2\HELP\GLOSS; PRIORITY DISK IO=YES SET varname= PRIORITY=DYNAMIC A number of environment variables are FILES=50 used to customise the system for user pref- DEVICE-A0S2\DOS.SYS erences. SET VIDEO_DEVICES= and DEVICE=C:\OS2\PMDD.SYS SET VIO_ VGA= tell OS/2 what type of BUFFERS=10 screen display you have. These are set dur- DISKCACHE=256,LW,128,AC:C ing the installation process. If you change RUN=C:\OS2\CACHE.EXE /MAXAGE:2000 video cards, you can change these settings MAXWAIT=3 with the Selective Install utility in the Sys- tem Setup folder. Otherwise, leave them at TIMESLICE=64,128 their initial values. MEMMAN=SWAP,MOVE,PROTECT There are three SET commands that SWAPPATH=F:\OS2\TEMP 2048 4096 customise other system functions and that BREAKOFF you might want to add to your THREADS=256 CONFIG.SYS: PRINTMONBUFSIZE=256,134,134 • SET DELDIR= This turns on OS/2's COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS undelete protection so you can recover any SET KEYS-=ON accidentally deleted files. The command SET works hand in hand with the included DELDIRPC:\DELETE,512;D:\DELETE,512;E:\DELETE,512;F:\DELETE UNDELETE.COM utility. The two param- ,512; BASEDEVPRINT01.SYS eters for this command are the directory BASEDEV=IBM1FLPY.ADD used to store the deleted files, followed by BASEDEV=IBM1S506.ADD the maximum amount, in kilobytes, to he BASEDEV=0S2DASD.DMD stored. The undelete directory and the files SET BOOKSHELF=F:\OS2\BOOK;F:\OS2\HPFSUTIL; in it have the 'hidden' attribute set, so you SET EPATH=C:\OS2\APPS usually won't see them when you do a DIR. PROTECTONLY=NO As an example, if you want to turn on SHELL=C:\OS2\MDOS\COMMAND.COM CAOS2\MDOS /P /E:512 deletion protection for your C: and D: FCBS=16,8 drives, and to save a maximum of 512K of RMSIZE=640 deleted files on each, you would add the DEVICE=C:\OS2\MDOS\VEMM.SYS following line to your CONFIG.S`i S: DEVICE=C:\OS2\MDOS\VMOUSE.SYS SET DELDIR=CADELETE,512; DOS=HIGH,UMB DADELETE,512 DEVICE=C:\OS2\MDOS\VDPX.SYS • SET KEYS= If you enter ON as its DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB DEVICE=C:\OS2\MDOS\VDPMI.SYS parameter, this command turns on the com- (continued) mand history buffer in OS/2 character-
290 PC Magazine June 1993 tions in Part 1. The HPFS cache is fur- OS/2 2.0 installation and performance considerations ther tuned by reducing the amount of DEVICE=C:\OS2\MDOS\VWIN.SYS time it waits to write data to the disk by DEVICE=C:\OS2\MDOS\VCDROM.SYS using the /MAXAGE:2000 parameter on the line:
DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP FtUN: \ 0S2 \ CACHE . EXE SET VIDEO_DEVICES=VIO VGA SET VIO VGA=DEVICE(BVHVGA) BUFFERS have been reduced to 10 in DEVICE=C:\OS2\MDOS\VVGA.SYS accordance with IBM's recommenda- DEVICE=C:\OS2\POINTDD.SYS tion. Lazy writes are turned on for the DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM2 FAT drives through the addition of LW after the DISKCACHE command. This DEVICE=C:\OS2\COM.SYS speeds up the file system performance. DEVICE=C:\OS2\MDOS\VCOM.SYS • The PRINTMONBUFSIZE= com- CODEPAGE=437,85D mand enhances printer performance on DEVINFC=RBD,US,C:\OS2\KEYBOARD.DCP LPTI by increasing the buffer to 256 IOPL=YES bytes. This setting is fine for a laser printer; for a dot-matrix printer, 512 would be better. Available as: INSPER.Z1P in Produclivity,i0mr.fin, in PCMAGUK forum. To access GO Ziff:PCMAGUK • All on-line help files and reference manuals have been moved to the HPFS mode sessions, permitting you to scroll of the application and any parameters drive both to free disk space on the boot back and forth between previously entered needed; see the discussion of CACHE drive and to speed up searches. commands. SET KEYS=OFF, the default, above for an example. • Finally, OS/2 is given full control over turns the command history buffer off. memory management and multitasking • SET RESTARTOBJECTS= This is VERIFY= by using the MEMNIAN=, the PRIOR- an undocumented environment variable This command tells OS/2 to verify that a ITY_DISK JO= and the PRIORITY= that controls the startup action. OS/2 takes file was written to disk correctly by imme- commands. The TIMESLICE= values with respect to applications that were diately comparing it with the original. This are raised to 64 and 128 (which appears active when the system was last shut down. is equivalent to using the N option on the as 64,128 on the CONFIG.SYS line), to Given its usual ON default, OS/2 will auto- COPY and XCOPY command lines. The provide smoother operation of fore- matically restart any applications that were default is OFF. If you store a lot of critical ground and background applications open when the system stopped, returning data, or if your system is being used as a when the system has to swap committed you to where you left off. The command: concurrent LAN or database server, set memory to disk. VERIFY=ON. SET RESTARTOBJECT Get the balance right prevents OS/2 from starting an g but Bringing it all together The correct settings for your particular the WorkPlace Shell. Listing 1 consists of a sample OS/2 2.0 needs might vary from those shown in List- You can also use: CONFIG.SYS file that has been tuned for ing 1. You must be willing to experiment a SET RESTARTOBJECTS= , „ best performance on an 8Mb 33MHz 486 little, to try different values for the various STARTUPFOLDERONLY system. The system has a VGA monitor settings until you strike your own balance and a mixture of FAT and HPFS partitions between performance and memory usage. which tells OS/2 to start only the applica- on a 420Mb hard disk. Drives C:, D: and E: The best way to check memory usage is tions placed in the Startup folder on the are FAT, and F: is HPFS. The system boots by monitoring the size of your SWAPPER. desktop. Note that because this command from C:. As you examine the listing, note DAT file. If SWAPPER.DAT consistently is undocumented, and may not work in the following points as a guide to tuning gets much larger than its initial value after future versions of OS/2. your own OS/2 system: you've started up only one or two applica- • The first step is to move the location of tions, you should lower some of the values RUN= the swap file from the boot drive to one that affect the amount of memory used by The RUN= command lets you automati- that has more room. As you can see in the system. cally load and run character-mode OS/2 the example, SWAPPATH is set to a The guidelines we present can serve as applications from the CONFIG.SYS file. subdirectory on the HPFS drive F:. the starting point for your own exploration. You can have more than one RUN= com- • UMBs are activated for DOS and Win- The goal is to make the system's operations mand in CONFIG.SYS. These commands dows sessions by the addition of the as smooth as possible, so it spends more are the last lines processed during system /UMB parameter on the time processing applications and less time startup. DEVICE—:\OS2\MDOS\VXMS.SYS swapping data to the disk. The RUN= command is most com- monly used to start the HPFS CACHE. line. DOS=HIGH,UMB lets the built- Some LAN drivers can also be started in DOS interpreter load itself into the OS/2 2.0 Installation and using RUN= instead of being loaded in UMBs, and permits loading device Performance Considerations STARTUP.CMD; the manuals will tell you drivers and TSRs into the UMB with Reference G325-5019 if this is the case. RUN= is also used to start DEVICEHIGH and LOADHIGH IBM Technical Publications up special services, such as LAN file commands Centre servers or database servers. The text after • The HPFS and FAT disk caches are (0256) 343000 RUN= should comprise the full pathname sized according to the recommenda-
PC Magazine June 1993 291