OS/2 Warp 4
Capacity Planning and
Performance Tuning Guide
Document Number: WARP4TTT
December 5, 1996
Personal Software Products
Duc J. Vianney, Ph. D., Senior Programmer
OS/2 External Performance, Austin, TX
Tony White, OS/2 Performance Consultant
Personal Systems Solutions Center, Dallas, TX
Preface
This paper was produced to assist you in improving the performance of your OS/2 system by providing information on OS/2 Warp 4, its various subsystems, and practical performance tuning tips and techniques. It begins by familiarizing you the new features and enhanced functions of OS/2 Warp 4. It will then introduce you to the concepts and terminology needed to successfully tune an OS/2 system. You will learn to recognize the symptoms of many common performance problems. You will also learn how to create and use a repeatable process for analyzing a system's performance problem and understand the many tuning parameters and techniques used to fully optimize your system. The tuning tips and techniques are divided into 3 sections targeted to different levels of complexity: basic OS/2 tuning, advanced OS/2 tuning, and tuning tips for a networked OS/2 workstation.
This paper documents the procedures used and knowledge obtained from performance evaluation and measurement activities. Some procedures have been recorded in documents previously published by OS/2 development and support groups within IBM. It should be considered a working document subject to forthcoming changes without notice as additional information is obtained.
The information contained in this paper represents the interpretation of IBM on the issues discussed based on the measurement results as of the date of publication. Since the results are applicable only to the system under test, IBM makes no commitment nor guarantees the accuracy of any data measured after the date of publication.
The authors wish to express their sincere thanks to the comments, suggestions and reviews made by Michael Martino, Cyndi Kubich, Rich Wahl, Robert Paulsen, Jimmy DeWitt, Ivan Eisen, Bob Russell, Steve Woodward, Lannes Robinson, Valerie Jackson, and many others that have involved with OS/2 Warp products.
For further references, please refer to the following documents.
[1] OS/2 Warp 4 Readme
[2] OS/2 Warp 4 Reference and Commands
[3] OS/2 Warp 4 Tasks
[4] "Performance Tuning OS/2 Warp," Ron Cadima, ISV Development Assistance, IBM Boca Raton, FL, 1995.
[5] "OS/2 2.1 Performance Tuning for End Users," IBM, May 1993.
[6] "OS/2 Warp Performance Pentium Pro P6 Performance Benchmark Guide," Duc Vianney, IBM TR54.915.
[7] "OS/2 Client Tuning Worksheet," Tony White, IBM, Personal Systems Competency Center, May 1996.
Trademarks
The following terms are trademarks or registered trademark of the IBM Corporation in the United States or other countries
OS/2, OS/2 Warp, OS/2 Warp Connect, OS/2 Warp Server, OS/2 LAN Server, DB/2, LAN Server 4.0, Bonus Pak, Personal Communications/3270 , Visual Age and Visual Builder, ThinkPad, NetFinity, OpenDOC, WebExplorer, SOM/DSOM, DIVE, System Performance Monitor/2 (SPM/2)
The following terms are trademarks of other companies:
TRADEMARK OWNER
DOOM id Software
Intel Intel Corporation
Master of Orion MicroProse
Myst Cyan, Inc.
NetWare Novell, Inc.
Pro AudioSpectrum Media Vision, Inc.
QuickTime Apple Computer, Inc.
Sound Blaster Creative Labs, Inc.
THE 7th GUEST Virgin Interactive Entertainment, Inc.
TIE Fighter Lucasfilm, Ltd.
Western Digital Western Digital Corporation
Windows, Win32s Microsoft Corporation
Windows NT Server, Windows 95 Windows for Workgroups
TME, TME 10 Tivoli Systems, Inc., an IBM Company
OpenGL Silicon Graphics
Amipro, L 1-2-3 Lotus Corp.
BRender Argonaut Technologies Ltd.
BYTEmark Byte Magazine.
ColorWorks SPG Inc.
Describe Describe Corp.
MicroStation Bentley Systems, Inc.
Pentium
SAS SAS Institute Inc., Cary, NC, USA.
LANtastic Artisoft
JAVA Sun Microsystems
HyperACCESS Hilgraeve
FaxWorks Keller Group Inc.
CompuServe Information Manager CompuServe
Pegasus Resource Monitor for OS/2 OnDEMAND Software, Inc.
OS/2 Resource Monitor C.O.I. Consulting, Ltd.
CPU Monitor BonAmi Software Corp.
Performance 2.1 Clear and Simple, Inc.
All other marks are the property of their respective companies.
Notices
References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectable rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designeated by IBM, are the user's responsibility.
IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood NY 10594, U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS DOCUMENT "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimers of express or implied warranties in certain transactions; therefore, this statement may not apply to you.
This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this paper at any time.
It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), progamming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, prograaming, or services in your country.
Requests for technical information about IBM products should be made to your IBM authorized reseller or IBM marketing representative.
(C) Copyright International Business Machines Corporation 1996. All rights reserved.
Note to U.S. Government Users. Documentation and programs related to restricted rights - Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.
Table of Contents
1 Introduction
1.0 Why OS/2 Warp 4? 7
1.1 OS/2 Warp 4 features and functions 7
1.2 Performance differences from previous OS/2 versions 9
1.3 Software prerequisites 10
1.4 The software configuration menu 10
2 Capacity Planning
2.0 Capacity planning 12
2.1 OS/2 Warp 4 resource requirements 12
2.2 Main reasons for causing system performance bottlenecks in OS/2 Warp 4 13
2.3. Hardware issues 13
2.3.1 CPU 13
2.3.2 Memory 16
2.3.3. Disk drive 17
2.3.4 Video subsystem 20
2.3.5 COM port 20
2.4 Software issues 21
2.4.1 Planning for growth 21
3 Performance Monitoring and Tuning
3.0 Response time 22
3.1 Performance monitoring 22
3.2 Benchmarking 22
3.3 OS/2 Warp 4 performance tools 23
3.3.1 CHKDSK 23
3.3.2 Hard Disk Drive Monitor 23
3.3.3. PROFILER 24
3.3.4 PSTAT 25
3.3.5 SYSLEVEL 25
3.3.6 RMVIEW 26
3.3.7 TRACE 26
3.4 OS/2 external monitoring tools
3.4.1 System Performance Monitor/2 (SPM/2) 27
3.4.2 Simple CT 27
3.4.3 CPU Monitor 28
3.4.4 OS/2 Resource Monitor 28
3.5 Performance tuning 28
3.5.1 Problem definition 28
3.5.2 Identifying bottlenecks 28
3.6 Tuning Methodology 29
3.6.1 Define the problems 29
3.6.2 Hypothesize solutions 29
3.6.3 Design tests 30
3.6.4 Set values and run tests 30
3.6.5 Analyze the results 30
4 Basic OS/2 Tuning Procedures
4.0 Introduction 31
4.1 General system changes 31
4.1.1 The OS/2 Warp Center 31
4.1.2 The OS/2 Warp Guide 31
4.1.3 Animation 32
4.1.4 Changing display drivers 32
4.1.5 Minimize applications and folders 32
4.1.6 Starting applications 33
4.1.7 Use startup folder 33
4.1.8 Multitasking considerations 33
4.1.9 Schemes and color palette 33
4.1.10 Sounds 33
4.1.11 Font palette 33
4.1.12 System logo 34
4.1.13 Mouse 34
4.1.14 Desktop utilization
5 Advanced OS/2 Tuning
5.0 Introduction 35
5.1 Tuning tips for the Workplace Shell 35
5.1.1 The PMSHELL environment 35
5.2 Task scheduling 35
5.3 The CONFIG.SYS file 36
5.4 Single input queue 49
5.5 The AUTOEXEC.BAT file 49
6 Improving Application Performance
6.0 Application software 51
6.1 Tuning tips for OS/2 applications 51
6.1.1 SOMobjects 52
6.1.2 VisualAge C++ performance 52
6.2 Tuning tips for Windows applications 53
6.2.1 Win-OS/2 environment 53
6.2.2 Windows groups and Windows programs folders 53
6.2.3 Win-OS/2 virtual DOS sessions - common Vs. separate 53
6.2.4 Win-OS/2 standard and enhanced compatibility modes 53
6.2.5 Settings for Windows applications 54
6.2.6 Win32s support 55
6.2.7 Win-OS/2 setup 55
6.2.8 Win-OS/2 specific settings 56
6.2.9 General Win-OS/2 tips 57
6.2.10 Tuning tips for games 58
6.3 Tuning tips for DOS applications 60
6.3.1 DOS environment 60
6.3.2 Full screen vs. windowed 60
6.3.3 Multitasking DOS sessions 60
6.3.4 Tuning the DOS settings 61
6.3.5 Video settings 68
6.3.6 Mouse and touch sensitive settings 71
6.3.7 Settings affecting communications applications 72
7 Performance Exploitation of the Underlying Hardware
7.0 Introduction 75
7.1 Video display resolutions 75
7.2 Tuning tips for printing performance 76
7.2.1 Printer object settings 76
7.2.2 Fonts impact print speed 77
7.2.3 PRINTMONBUFSIZE 78
7.2.4 OS/2 spooled printing 78
7.2.5 Printing from DOS 79
7.2.6 Printing from WIN-OS/2 79
7.2.7 Printing from OS/2 applications 80
7.3 Tuning tips for speech performance 81
7.3.1 Hardware requirements 81
8 Tuning Tips for a Networked OS/2 Workstation
8.0 Introduction 82
8.1 Multi-protocol transport service 82
8.1.1 SOCKS support 83
8.2 OS/2 LAN Server/Requester 83
8.3 OS/2 Netware Requester 84
8.4 TCP/IP client tuning 85
8.5 DB2 client tuning -- SQL database performance 85
8.6 Lotus Notes client tuning 86
Appendix 1 - CONFIG.SYS File Insights 87
Chapter
1Introduction
1.0 Why OS/2 Warp 4?
IBM's goal is to provide a more responsive OS/2 that is simpler and more intuitive to use, and provides easy connectivity. To achieve that end, OS/2 Warp 4 addresses three major issues:
1.1 OS/2 Warp 4 features and functions
OS/2 Warp 4 contains the following new features and functions:
The following features and functions have been updated in OS/2 Warp 4:
1.2 Performance differences from previous OS/2 versions
Some of the changes that gave OS/2 Warp 3 better performance than previous OS/2 versions are as follows.
OS/2 Warp 4 contains all of the aforementioned changes as well as enhancements to the FAT file system (FAT deserialized and optimized asynch read ahead), CD-ROM asynch read ahead, page tuning many system DLLs, single input queue, as well as changes to the memory caching default size and system loader fixup scheme. Furthermore, there are changes made to improve TCP/IP throughput and faster response time for network administration commands.
1.3 Software prerequisites
OS/2 Warp 4 can be installed over the following systems.
TIP:
1.4 The software configuration menu
Many OS/2 parameters can be modified during or after installation. This section overviews those paramters that can be modified during the installation process. Each of these tunable parameters will be discussed in greater detail later in this document. From the OS/2 Setup and Installation panel, there will be three menus: Options, Software Configuration, and Help.
NOTE:
Chapter
2Capacity Planning
2.0 Capacity planning
The OS/2 operating systems, in particular OS/2 Warp 4, have evolved to take advantage of new technologies and strategies, such as client/server, voice navigation and dictation, internet aware desktop, JAVA support, etc. The resulting changes in the software infrastructure and system platforms require careful system planning to ensure OS/2 Warp 4 performs as a cost-effective information technology platform.
Personal computers have limited resources to handle increasingly complex operating systems and applications. Resources such as CPU, disk, and memory must perform well together and deliver adequate response times to satisfy a user's requirements. Hence, capacity planning becomes an important issue when determining the impact of OS/2 Warp 4 on your system. To ensure the correct level of resource to meet and support your computing needs, you need to:
1.Assess the current performance levels of your system.
2.Identify any additional computing needs you will have in the near future.
3.Determine the performance impact these needs will have on the existing configuration.
4.If the performance impact is not acceptable, tune the current configuration for optimal performance and perform step 3 again.
5.If performance is still unacceptable, a more detailed performance analysis becomes necessary to determine where the performance bottleneck is occurring. Additional hardware may be required.
By employing validated performance analysis and tuning methodologies and systems tools, you can accurately measure the utilization of your computer resources. This will the smooth integration of OS/2 Warp 4 into your existing environment.
2.1 OS/2 Warp 4 resource requirements
Your system performance depends largely on how OS/2 Warp 4 and the underlying hardware work together. The 32-bit OS/2 Warp 4 operating system exploits the Intel 32-bit X-86 architecture through the flat memory model, native protected mode and virtual 8086 mode though paging and multiple virtual DOS machine sessions. The flat memory model allows for a very large (4 GB) single address space referred to as flat memory. Call/return times are reduced by eliminating the need to switch segments manifested in a typical 16-bit application.
While all previous 16-bit APIs are still completely supported, the remaining OS/2 Warp 4 APIs are now 32-bit, thus improving performance and enhancing function. In addition, OS/2 also provides support for advanced disk hardware, Direct Memory Access for its parallel port, and many industry standard audio and video devices. Like previous versions of OS/2, OS/2 Warp 4 supports all existing 16-bit and 32-bit OS/2 applications, most DOS applications including those that use EMS, XMS or DMPI memory in the full screen or windowed virtual DOS machine session. Windows application support is also included in OS/2 Warp by providing both Windows 3.1 and Win32s environments for running Windows applications seamlessly on the OS/2 workplace shell, in concurrence with DOS and OS/2 applications.
Several of OS/2 Warp 4's new features and enhanced functions require a powerful processor, more physical memory, and a larger hard drive. If you experience sluggish response time after installing OS/2 Warp 4 you can use some of the performance tools shipped with OS/2 Warp 4 to determine the cause of the problem and apply the following guidelines to obtain the best performance out of OS/2 Warp.
Without Voice Navigation and Dictation:
With Voice Navigation and Dictation, OS/2 Warp 4 requires
2.2 Main reasons for causing system performance bottlenecks in OS/2 Warp 4
There are three areas where performance can be constrained: memory, disk, and processor.
In the following sections, we will examine the functions of major system components and how each
would contribute to the overall system performance.2.3 Hardware issues
2.3.1 CPU
The CPU plays a vital role in system performance. It is responsible for processing the millions of instructions necessary to produce work. The speed of the microprocessor (and also the amount of installed memory) typically has the largest effect on the performance of the computer system. The microprocessors system clock rate, measured in millions of clock steps per second, or Megahertz (MHz) dictates the speed at which the system runs. The faster the clock rate, the faster the performance.
Most CPU's in today computer systems are at least 80486 chips. The 80386SX, SL and SLC, as well as the 486SLCx have an external data path of 16 bits while 80386DX and 486DX and above processors have an external data path of 32 bits. This distinction becomes significant as the shift towards 32-bit software begins to proliferate the market. 32-bit instructions, processing on a 16-bit CPU must become two 16-bit instructions in order to be processed. The processor with a 16-bit external data path can result in about 10% lower performance than an identical processor of the same speed with a 32-bit data path. The following charts illustrate the various processor chips, their respective speeds and their cache option.
Comparison of 386 Processors
Feature 386SX 386SL 386SLC 386DX
Speeds available (MHz) 16 20 20 25 16 20 16 20 25 33
Internal Processor Cache N/A N/A 8K N/A
Internal Processing (bits) 32 32 32 32
External Data Path (bits) 16 16 16 32
Comparison of 486 Processors
Feature 486SLC 486SLC2 486SLC3 486SX 486SX2 486SL 486DX 486DX2 486DX4
Speeds available (MHz) Numbers represent both internal and external processor speeds. 25 40/20 50/25 60/20 66/33 75/25 100/33 20 25 33 50/25 25 33 25 33 50 50/25 66/33 75/25 100/33 100/50
Internal Processor Cache 16K 8K 8K 8K 8K 16K
Internal Processing (bits) 32 32 32 32 32 32
External Data Path (bits) 16 32 32 32 32 32
Note: The 486SLC2 processor runs internally at twice the speed of the rest of the system, such as 40/20MHz producing performance faster than a 25MHz 486DX, but less than a 50MHz 486DX. It is up to 271% better than a 20MHz 386SX, up to 99% faster than a 20MHz 386SLC, up to 53% faster than a 20MHz 486DX and up to 20% faster than a 25MHz 486DX. The 50/25MHz 486SLC2 is faster than an Intel 33MHz 486DX.
The 75/25MHz 486SLC3 processor is up to 40% faster than the 50/25MHz 486SLC2, 187% faster than a 20MHz 386SLC and up to 424% faster than a 33MHz 386SX.
The 486SLC is identical to the 486SLC2 in all respects, except clock doubling. It is approximately equivalent in performance to a 486DX, but adds power management features the 486DX lacks.
The 486DX2 processor runs internally at twice the speed of the rest of the system, such as 50/25MHz or 66/33MHz, producing performance faster than a 33MHz 486DX, but less than a 50MHz 486DX.
The 486DX4 processor runs internally at three times the speed of the rest of the system, such as 75/25MHz or 100/33MHz, producing performance in excess of a 486DX2.
Comparison of Pentium Processors
Feature Pentium P5 Desktop Pentium P54C Desktop Pentium P54LM Notebook
Speeds Available (MHz) Numbers represent both internal and external processor speeds. 60 66 75 90 100 120 133 150 166 200 75 90 100 120 133 150
Clock Multipliers (e.g., 2X = 133/66MHz) 1X 1.5X, 2X, 2.5X, 3X 1.5X, 2X
Internal Processor Cache 16K 16K 16K
Internal Processing (bits) 32 32 32
External Data Path (bits) 64 64 64
The Pentium Pro processor (also known as the P6 processor) is the latest generation processor family from Intel. The Pentium Pro processor includes significant architectural innovations and enhancements, like Dynamic Execution, multiple branch prediction capabilities, 256K L2 cache in the package, etc. The result is a significant boost in system performance -- especially with 32-bit software. Since OS/2 and especially OS/2 Warp 4 is a 32-bit operating system, the Pentium Pro processor delivers optimal performance with 32-bit OS/2 applications.
Summary of performance data for P6-150 and P5-133
A summary of the performance data between P6 and P5 is given below. The experiment was done on a P6 processor running at 150 MHz, 256 KB Level 2 cache, 32MB of physical memory, 1.28 GB IDE hard drive, Matrox PCI display adapter card. All measurements were done with the display resolution set at 1024x768x256 except where it is noted. The P5 system is from Micron Technologies. It has a P5 processor running at 133 MHz, 256 KB Level 2 cache, 32 MB of physical memory, 1 GB SCSI hard drive, and Matrox PCI display adapter card. Again, all measurements were done at 1024x768x256 resolution except where it is noted. OS/2 Warp Connect was used on both systems with no special options or setup. OS/2 Warp was installed with multimedia support using the default installation options. The FAT file system was used in the study with default dynamic disk cache size.
There are five types of benchmarks used in the study:
1.Trade magazines benchmarks such as BYTEmark from BYTE Magazine
2.Industry Standard benchmarks such as the OPENGL CDRS and DX from the Graphics Performance Council
3.32-bit OS/2 applications benchmarks such as VisualAge from IBM, SAS from SAS Institute Inc., MicroStation from Bentley Systems, and ColorWorks from SPG Inc.
4.Multimedia benchmarks such as software MPEG playback, direct video APIs interface DIVE and 3-D driver interface BRender from Argonaut Technologies Inc., and finally
5.The mix 32- and 16-bit OS/2 business applications such as Describe, Amipro, Lotus 1-2-3 and IBM C++ used in OS/2 program development.
In general, the average ratio of performance improvement for P6 over P5 is 1.63. In particular, the ColorWorks and DIVE benchmarks seem to gain the most, more than 2X improvement, while others tend to gain somewhere around 50%. The BRender 3-D library from Argonaut Tech which is built upon DIVE seems to take the full advantage of the P6 floating-point performance. Its ratio of performance is around 1.88, almost twice of that P5. It is also observed that applications that are computational intensive such as 3-D graphics rendering in the MicroStation benchmark gain about 1.5X on the P6 platform. The industry standard graphics test from GPC using the CDRS and DX viewsets also scores well on the P6, around 1.5 times over P5. The legacy OS/2 applications benchmark which is a mix of 32- and 16-bit code ran only 30% faster on the P6. The chart below illustrates the average measurements and the performance ratio between the two systems.
Processor: P6-150 P5-133 P6/P5
Manufacturer: Intel Micron Ratio
Memory Configuration: 32MB 32MB
Display Resolution: 1024x768x256 Improvement
Display Adapter: Matrox Matrox for P6
Applications Metrics
BYTEmark 2.0 iterations/sec 1.49
OPENGL - CDRS frames/sec 2.23 1.51 1.47
OPENGL - DX frames/sec 0.89 0.58 1.53
VISUAL AGE - Visual Builder seconds 80.4 104.4 1.3
MOVIE PLAYER - Bundy seconds 13.78 20.01 1.45
SAS seconds 16.4 27.84 1.7
Argonaut - Robot frames/sec 64 34 1.88
ColorWorks seconds 14.06 31.02 2.21
MicroStation seconds 31.55 46.94 1.49
Legacy Apps (Describe, Amipro, L123, IBM C++) seconds 61.5 80.5 1.31
DIVE frames/sec 273 128 2.13
Average 1.63
Geometric Mean 1.61
NOTES: 1. ColorWorks was run at display resolution 1024x768x16M
System bus
The bus is the internal pathway along which signals are sent from one part of the computer to another. Personal computers typically have one of three bus architectures:
The system bus plays an important role in balancing system performance. If you have a high speed CPU and video adapter on an ISA bus system, this system is not well balanced. The CPU is a great deal faster than the system bus. For example, if your processor is a 486DX 33MHz CPU and you have an ISA bus VGA video adapter (remember, ISA is 16-bit), the system has the capability to transfer data at speeds greater than 33MB/second but the ISA bus can only transfer data at 8.33MB/second. While this isn't a very practical example, it illustrates the potential for an imbalanced system caused by a system bus that is slower than the processor, particularly when running I/O intensive applications such as databases.
2.3.2 Memory
Memory, often referred to as random-access memory (RAM), is the computer's primary storage space used to execute instructions. Memory is generally available on the system board and/or on adapter cards. The speed of the memory is expressed in nanoseconds, with the lower the value the better.
Memory speed is important in that faster memory provides faster access to the information stored there. Memory location is also important. Memory on the system board (motherboard) can generally be accessed by the processor faster than memory located on an adapter card. The adapter card memory requires access through the system bus, slowing down the time from processor to memory.
Having adequate memory in a system will also reduce the disk access because paging or swapping is decreased. If the operating system does not have to handle paging I/O requests, system performance will improve. If the swap file is large, and changing from one application to another results in I/O requests, the system would benefit from additional memory or performance tuning.
A cache is a small group of very high speed memory chips and the support circuitry that manages them. Some microprocessors have a built-in cache while others have it residing outside the microprocessor on the system board. Others have extended the cache built into the microprocessor with a second-level cache designed to feed information into the microprocessors internal cache more efficiently. This is called a "level 2" cache. The memory cache increases the overall performance of the computer system by automatically gathering commonly needed information, such as program instructions and data, and then very quickly providing it to the microprocessor the next time the data is requested. Since the memory cache can respond much more quickly than the system's memory, the system's performance is improved every time the information contained in the cache is used. A small internal cache is faster than a larger external cache, due to the delay in accessing an external cache.
OS/2 Warp 4 memory working set
The working set for OS/2 Warp 4 is defined as the set of memory (pages) referenced in the last n time of certain measurement intervals. The working set includes both resident and locked pages. The following data represent the working set of different OS/2 Warp systems running under different environments, connected (with TCP/IP and NetBIOS installed) and not connected (base operating system only). The test was performed on a 486/33 system with 16MB of memory, 1.6GB IDE hard drive, FAT file system, and Tseng SVGA ET4000 display adapter.
OS/2 Warp 3 3,996KB
OS/2 Warp 3 Connected 6,212KB
OS/2 Warp 4 4,996KB
OS/2 Warp 4 Connected 6,860KB
It is important to note that the number of unique pages accessed during a sliding window of 12 snapshots (1 minute) taken on the same system but with 40MB of memory (unconstrainted memory scenario) is as follows.
OS/2 Warp 3 12.68MB
OS/2 Warp 3 Connected 19.97MB
OS/2 Warp 4 Connected 25.27MB
2.3.3 Disk drive
Fixed disk performance is important to the overall performance of a computer. The performance of a fixed disk refers to the rate at which information can be located and transferred between the fixed disk and the memory. The disks average seek time, average latency and data transfer rate determine how the disk subsystem will contribute to or hinder overall system performance. These disk performance statistics are generally available from the disk manufacturer.
Data on a fixed disk is stored in concentric rings, or tracks, on the disk surface. To read from a fixed disk, the actuator must first move the read/write head to the proper track. The average time it takes for the actuator to move the read/write head over the proper track is called the average seek time - usually expressed in milliseconds.
Once the read/write head is located over the right track, it must wait until the disk rotation brings the right part of the track under the read/write head. The average time it takes for this to happen is the average latency of the drive - also expressed in milliseconds.
Finally, after the proper track and proper part of the track are positioned under the read/write head, the information is transferred between the disk and the disk controller circuitry, one bit at a time in a continuous stream as the disk surface passes underneath the read/write head. The speed at which this is done is called the data transfer rate and is expressed in millions of bytes per second (MB/second).
It is important to consider the disk drives performance statistics when purchasing a computer system. These statistics play an key role in the overall performance of the system. The shorter the seek time and latency the better. The higher the data transfer rate the better. All of these factors determine how the disk subsystem will contribute to or hinder overall system performance.
OS/2 Warp 4 provides significant new function compared to OS/2 Warp Connect. Depending on the selections you make during installation, this version will require a maximum of 350 megabytes of hard disk space. The following table indicates how much disk space is consumed by each selectable component. It will be very useful in planning your installation.
NOTE:
===> DO NOT ATTEMPT INSTALLATION WITH BARELY ENOUGH SPACE.
During the installation process, you will be asked to select which of the following install options: Advanced Install or Easy Install.
If you selected the Advanced installation option then you would see the OS/2 Setup and Installation screen which enables you to configure the software. The list of software that you can select in OS/2 Warp 4 is as follows.
Disk Space Default
Assistance Center 10.03 MB
OS/2 Tutorial 4039 KB
OS/2 Command Reference 825 KB Yes
REXX Information 768 KB Yes
OS/2 Warp Guide User Interface Agent 4,367 KB Yes
Fonts 2.42 MB Yes
Courier 273 KB Yes
Helvetica 629 KB Yes
System Mono-Spaced 86 KB Yes
Times Roman 596 KB Yes
Courier (outline) 320 KB Yes
Times New Roman (outline) 259 KB Yes
Optional System Utilities 2.29 MB Yes
Backup Hard Disk 27 KB Yes
Change File Attributes 36 KB Yes
Display Directory Tree 33 KB Yes
Manage Partitions 233 KB Yes
Label Diskettes 33 KB Yes
Link Object Modules 450 KB NO
Picture Viewer 122 KB Yes
PMREXX 146 KB Yes
Recover Files 45 KB Yes
Restore Backed-up Files 35 KB Yes
Sort Filter 31 KB Yes
Installation Utilities 419 KB NO
Create Utility Diskettes 192 KB Yes
Service/Diagnostic Aids 542 KB Yes
Optional System Components 2.30 MB Yes
OpenDoc 5,842 KB NO
Voice Type 23,753 KB NO
Security 496 KB NO
Bonus Pak 36.42 MB NO
CompuServe 2,736 KB NO
HyperAccess Lite 656 KB NO
IBM Works 14,411 KB NO
Fax Works 1,266 KB NO
VideoIn 467 KB NO
AskPSP 4,008 KB NO
Remote Support Tool 1,441 KB NO
Printer Utilities
JetAdmin 560 KB NO
JetAdmin Port Driver 1,645 KB NO
MarkVision 4,879 KB NO
MarkNet Port Driver 5,238 KB NO
Tools and Games 24.19 MB
Enhanced Editor 1,933 KB Yes
Search and Scan Control 68 KB Yes
OpenGL 1.0 3D Library 4,905 KB NO
Optional Bitmaps 10,073KB NO
Solitaire-Klondike 2,762 KB Yes
Pulse 43 KB Yes
Chess 2,828 KB Yes
Mahjongg Solitaire 2,151 KB Yes
OS/2 DOS Support 1.54 MB
DOS Protected Mode Interface 29 KB N/A
Virtual Expanded Memory Management 19 KB
Virtual Extended Memory Support 9 KB N/A
WIN-OS/2 Support 6.11 MB
Readme Files 136 KB Yes
Accessories 1,039 KB Yes
Screen Savers 73 KB Yes
Sound 115 KB Yes
Multimedia Support 22.41 MB
Base Multimedia Support 19,294 KB Yes
Multimedia OpenDoc Support 2,929 KB NO
Software Motion Video 728 KB Yes
High Performance File System 470 KB Yes
Network Services
File and Print Client 13 MB
TCP/IP Services 28 MB
Remote Access Client 4 MB
System Management Client 7 MB
Netware Client 6 MB
Mobile Office Services 3 MB
TIP:
2.3.4 Video subsystem
Computers can provide video support on the system board or on an adapter. Video support is identified by the mode and resolutions that they can support. The greater the resolution and number of colors, the better the picture. Unfortunately, better resolution and more colors usually translate into slower system performance.
VGA (Video Graphics Array) was introduced in 1987 and soon became a popular video standard. VGA systems are capable of displaying 16 colors at a resolution of 640x480.
SVGA (Super VGA) refers to a group of high-resolution analog video adapters. SVGA provides higher resolutions and more colors than VGA adapters. Most SVGA adapters with 1MB of video memory are capable of displaying 256 colors in a resolution of 1024x768.
XGA (Extended Graphics Array) was introduced by IBM in 1990. It is an accelerated analog video adapter which uses a coprocessor to provide hardware-assisted drawing functions. XGA-2 is a newer version of XGA which includes performance improvements, higher refresh rates, non-interlaced mode and support for resolutions of 1360x1024 with 16 colors.
Many new video adapters are coming available that can't be classified as VGA, SVGA or XGA. They are using new and more powerful chipsets that show improved performance over SVGA by using on-board processors for some graphics functions. These chipsets are called accelerators. They include previously discussed XGA chipsets, as well as new accelerated SVGA chipsets such as S3, Weitek P9100, Mach 8/32 and Tseng W32i.
Two main features on your graphics card affect video performance—the first, the card's onboard memory, and the other the card's accelerator chip and bandwidth.
There are three common types of onboard memory found on graphics cards, Dynamic RAM (DRAM), Window RAM (WRAM), and Video RAM (VRAM). DRAM is cheap, but its single-ported design requires a system clock cycle to reset the chips before each refresh of screen data. VRAM is dual-ported, able to deliver data and reset in a single clock cycle for inherently faster performance. It's also more expensive than DRAM. WRAM is a form of VRAM that does faster fills and accellerates video playback and animation. WRAM is not only dual-ported, but also requires fewer transistors than VRAM, hence lowering costs while providing a few graphics-specific speed-ups such as support for aligned bit-block transfers (BitBlts).
The type of graphics memory you choose is almost as important as the amount. DRAM is the least expensive, but its single-ported design makes it relatively slow; dual-ported VRAM is more costly, but much quicker for true-color work. A variety of other single-ported (such as EDO DRAM and SDRAM) and dual-ported (such as WRAM) variations fall between the two on
the price/performance scale.
The graphics accelerator cards architecture, or more specifically, it's bandwidth also plays a crucial role in graphics subsystem performance. Bandwidth is defined as the amount of information that can move along the cards data path. The bandwidth between the graphics card's accelerator chip and its display memory can be as wide and quick as graphics card manufacturers care to make it. Over the last several years, 32-bit graphics accelerators have yielded largely to 64-bit accelerators, with 128 bit cards becoming more and more common. To keep refresh rates high, team a fast 64-bit or 128-bit accelerator with dual-ported display memory to handle the volume of data that true-color and multimedia applications demand.
2.3.5 COM Port
Machines with a buffered UART (Universal Asynchronous Receiver/Transmitter), for example the 16550A will have better communications performance than machines without buffering, for example the 16450. The performance of DOS communications programs is particularly impacted by using systems with these buffered communications chips on their COM ports. The MODE command can be used to determine whether your system has this buffered UART. A buffered UART at level 16550A or equivalent is nearly essential for high speed communications. Use the command: MODE COMx, where x is the communications port number. If you see "BUFFER=N/A" then you do not have a buffered UART for that port.
2.4 Software issues
2.4.1 Planning for growth
File systems
OS/2 Warp supports two file systems for use on your hard disks: FAT and HPFS (High Performance File System). The HPFS file system supports file and directory structures different from the FAT file system. The OS/2 Warp HPFS file system is much better than the old FAT system used in DOS, although FAT is retained for backwards compatibility reasons and is used for diskettes. HPFS is faster, allows long file-names, is less likely to lose data and uses disk-space more efficiently than does FAT. Another advantage of HPFS over FAT is in the area of Extended Attributes (EAs). EAs are data attached to a file and used to provide information about the file they are attached to. For example, the name of an object that appears in an OS/2 folder or on the OS/2 Desktop is stored in EAs. In HPFS, EAs are part of the HPFS file control block which is read when the file is opened. In FAT, EAs are stored in a separate file in separate clusters and require additional I/O to access them, and are therefore slower.
HPFS has two limitations. Native DOS applications can't see HPFS formatted disks (although DOS programs running in OS/2 Warp can and there exists a driver to read HPFS disks from plain DOS), and the HPFS driver takes approximately 264KB of memory.
TIP:
Chapter
3Performance Monitoring and Tuning
3.0 Response time
Response time is the key indicator used in measuring and tuning a system. It can be defined as the time interval from when a user initiates a process until that process has completed. For example, response time can be measured as the interval of time from when a user presses the enter key to initiate a database query until the data is displayed on the screen.
The productivity of a OS/2 Warp 4 user is largely dependent on adequate system response time. The user should be able to interact freely with the application without having to wait for the system to respond. Response time requirements may vary among users and even among applications. A three to fifteen second response time may be adequate for a complex inquiry application that is only run occasionally, but a sub-second response time may be required for more frequently used applications such as word processors or spreadsheets.
This section introduces the concept of performance monitoring, measurement, and tuning. It also covers performance tools shipped with OS/2 Warp 4 as well as tools available from external sources.
3.1 Performance monitoring
Monitoring the performance of critical system resources is invaluable in identifying the cause of performance problems. Performance monitoring is the first step to take in solving performance-related issues. There are numerous performance monitoring tools that measure response time, disk activity and other variables that impact the performance of the system. These tools will assist in understanding possible causes and subsequent resolution of the problem. Once the problem has been identified, the process for alleviating it can begin. This process, or tuning methodology, needs to be well thought out and documented through to resolution.
3.2 Benchmarking
A benchmark is a test that measures the performance of a system or subsystem on a well-defined task or set of tasks. Test scenarios, or benchmarks, are designed to achieve consistent repeatable results during the tuning process. Benchmarks are necessary for creating an effective, systematic approach to performance tuning your system. The benchmark should represent a work environment very similar to the one being tuned. Benchmarking is essential for measuring progress while tuning a system.
Characteristics of a good benchmark include:
Benchmarks can also be used as monitoring and diagnostic tools. By running a benchmark and comparing the results against a known configuration, you can potentially pinpoint the cause of poor performance. Similarly, a developer can run a benchmark after making a change that might impact performance to determine the extent of the impact.
3.3 OS/2 Warp 4 performance tools
The OS/2 WarpCenter provides a CPU monitor utility that shows the system activity and a disk space monitor program that shows the amount of disk space available in all partitions. In addition, there are many other operating system utilities that you can use to check your system integrity if you perceive a performance degradation has occurred. They are as follows.
3.3.1 CHKDSK
CHKDSK can detect lost clusters on your disk. These are parts of files that the system did not save completely and that take up space on your disk. If CHKDSK finds these, it prompts you with a message asking if you want to convert lost chains to files. If you type a Y (yes), CHKDSK converts these parts into files that you can examine and delete to save space on your disk. If you type an N (no), CHKDSK deletes these parts of files from your disk. The files CHKDSK creates from lost chains follow this naming convention: FILEnnnn.CHK (nnnn is a sequential number starting with 0000).
TIP:
CHKDSK /x where x = F or V or C or F:n
The /C and /F:n parameters shown at the end of the CHKDSK command syntax are only used with the High Performance File System.
1.Insert the system installation diskette in diskette drive A.
2.Restart the system. When the Logo panel appears, remove the installation diskette and insert diskette 1. Press Enter to continue.
3.Insert diskette 2 when requested.
4.At the first text panel that appears (Welcome to OS/2), press Esc.
5.If the drive to be searched is a drive formatted for HPFS, the file UHPFS.DLL has to exist on the same diskette as CHKDSK, or UHPFS.DLL has to exist in a directory in the LIBPATH statement. To display the LIBPATH statement, enter TYPE \CONFIG.SYS in the drive of the disk that the system started from.
6.In order for the system to display error messages, the file OSO001.MSG has to be on the same disk as CHKDSK or it has to exist in a directory in your DPATH statement. To display your DPATH statement, enter DPATH at the command line.
7.Run CHKDSK from drive A, specifying drive C as the drive to be checked.
3.3.2 Hard Disk Drive Monitor
The Hard Disk Drive Monitor uses Self-Monitoring, Analysis, and Reporting Technology (SMART) to monitor the status of physical drives in the system. A hard disk drive must be SMART-compatible for the Hard Disk Drive Monitor to be able to detect potential failures in that drive.
NOTE:
HDMON
TIP:
The Hard Disk Drive Monitor has not detected any degrading or potential fault conditions in the drive.
The Hard Disk Drive Monitor has detected a degrading or potential fault condition in the drive. In this case, you should back up the information on the disk immediately.
The drive is not SMART-compatible. The Hard Disk Drive Monitor can return basic information (in the Drive Information screen) about drives that are not SMART-compatible, but it cannot detect degrading or potential fault conditions in these drives.
3.3.3 PROFILER
Analyzes files on the specified drive and displays information about unusually fragmented files that do not meet the multimedia format requirements. You can use the PROFILER utility to correct files that do not meet multimedia requirements.
A fragmented file, although logically intact, is divided into blocks that are stored in different physical locations on the disk. Fragmentation is often necessary for the efficient use of disk space, but unusually fragmented files (those divided into small, scattered blocks) are not well suited for multimedia applications.
TIP:
PROFILER /x d:/pathname where
x=C corrects file that do not meet the multimedia requirements
x=Q turns off the display of progress information
x=R analyzes all files in the subdirectory tree below the specified path name
x=V displays fragmentation information about every file analyzed
3.3.4 PSTAT
PSTAT displays process status information, such as current processes and threads, system semaphores, dynamic-link libraries, and shared memory. PSTAT helps you determine which threads are running in the system, along with their current status and current priorities.
TIP:
PSTAT /C displays the current process and thread -related information
PSTAT /S displays system semaphores information for each thread
PSTAT /L displays DLL libraries for each process
PSTAT /M displays shared information for each thread
PSTAT /P:id displays information related to the ID of the specified process
Current processes and threads
System semaphores
Shared memory for each process
Dynamic-link libraries
3.3.5 SYSLEVEL
This utility displays operating-system service level
TIP:
SYSLEVEL
Please wait...
C:\OS2\INSTALL\SYSLEVEL.OS2
IBM OS/2 Base Operating System
Version 3 Component ID 562107701
Type 0
Current CSD level: XR00000
Prior CSD level: XR00000
C:\OS2\INSTALL\SYSLEVEL.OS2
The subdirectory and file containing the information.
IBM OS/2 Base Operating System
The system name.
Version 3, Component ID:
The version, release, and modification number, followed by the Component ID of the system.
Current CSD Level: nnnnnnn
The current corrective service level.
Prior CSD Level: nnnnnnn
The prior corrective service level.
3.3.6 RMVIEW
This utility displays the allocation of the hardware resources in your computer.
TIP:
Displays the physical view. If no parameters are entered, this is the default view.
This view displays the physical components in your computer, such as adapters, along with the resources claimed the physical component.
Displays the physical view with planar chip set devices.
Displays the device drivers that have registered with the Resource Manager along with the physical resources and logical devices that they claim.
Displays the driver view with snoopers.
Displays the device drivers with planar chip set devices.
Displays the detected view of the current boot tree only.
Displays the detected view of the previous boot tree only.
Displays the logical view of your computer resources.
Displays the claimed interrupt levels (IRQ) sorted by value.
Displays the claimed IO ports above hex 100 sorted by value.
Displays all claimed IO ports sorted by value.
Display the claimed memory regions sorted by value.
Displays the claimed memory regions sorted by value.
Displays the hardware tree showing the hardware configuration of your computer.
Displays /IO, /IOA, /IRQ, /DMA, /MEM sorted by owner.
Displays raw data. When this switch is used with /P, /P1, /D, /D1, or /L, the Resource Manager data is displayed in a lower level format.
3.3.7 TRACE
The System Trace facility is used to record a sequence of system events, function calls, or data. The record is usually produced for debugging purposes. After the trace data is recorded, the System Trace Formatter is used to retrieve it from the system trace buffer and format the data to your display, printer, or file.
NOTE:
TIP:
TRACEGET is used to capture the contents of the trace buffer into a file. This file can then be loaded into the trace formatter, or sent to your service coordinator. A technical coordinator will analyze the formatted data to help you diagnose problems.
3.4 OS/2 external monitoring tools
There are several useful external tools for monitoring and tuning the performance of an OS/2 system some of which are discussed in the following.
3.4.1 System Performance Monitor/2 (SPM/2) - IBM Corp.
SPM/2 2.0 is an integrated package of powerful facilities that enable you to monitor resources such as CPU, RAM and disk on your local and remote OS/2 systems. SPM/2's ability to graph this resource information enables you to look at real-time data as well as saved data for any monitored workstation on the LAN. SPM/2 performs the following tasks:
3.4.2 SimpleCT - Clear and Simple, Inc.
This tool, excellent for novice users, is a simple aid for tuning your system. It provides a way to change the CONFIG.SYS file and remove unnecessary files to free disk space.
3.4.3 CPU Monitor - BonAmi Software Corp.
CPU Monitor offers a selection of performance and analysis tools for OS/2 users. Using Presentation Manager graphics, CPU Monitor displays real-time information for estimated CPU utilization, OS/2 process relationships, and more. CPU Monitor enables you to dynamically suspend and resume execution for individual threads and helps you detect and stop runaway, invisible, and background programs.
3.4.4 OS/2 Resource Monitor (OSRM/2)- C.O.L. Consulting, Ltd.
This integrated group of applications is designed for real-time tracking and performing capacity planning functions for system resources including CPU, disk, memory, and applications. OSRM/2 monitors most of the paramters that SPM/2 does but it also works on symmetric multiprocessor (SMP) systems.
3.5 Performance tuning
In general, performance tuning consists 4 steps:
1.define the performance problem
2.identify the bottlenecks by using monitoring and measurement tools
3.remove bottlenecks by applying a tuning methodology, and finally
4.repeat steps 2 and 3 until a satisfactory resolution is found.
3.5.1 Problem definition
A sound understanding of the problem is critical in monitoring and tuning the system. You should understand the problem in detail rather than at a high level like "the system is slow". Ask specific, pointed questions, like:
Be able to quantify the problem and when possible, obtain supporting data. As you are obtaining additional data, your problem description should become more focused.
You should also find out all you can about what has recently been done to this system that may have affected its performance. You may find that additional software has been installed, additional communications sessions were defined, or even that some of the memory has been removed.
Also consider the environment this system is working in. Environmental factors that can affect performance might include:
Once you understand the problem, you should define a realistic goal for improvement. How will you know when the performance is acceptable? It may be easy to identify your desired goal, but you might not immediately know whether this goal is realistic.
3.5.2 Identifying bottlenecks
After you have identified the problem and the environmental factors that affect it, you can narrow down possible causes and solutions. This involves identifying possible bottlenecks, verifying whether they are indeed bottlenecks, and devising possible solutions to alleviate them. Be aware that once a bottleneck is identified and steps are taken to relieve it, another bottleneck may suddenly appear. This may be caused by several variables in the system running near capacity.
Bottlenecks occur at points in the system where requests are arriving faster than they can be handled, or where resources, such as buffers, are insufficient to hold adequate amounts of data. Finding a bottleneck is essentially a step-by-step process of narrowing down the causes of the problem:
3.6 Tuning methodology
Now that you have identified potential bottlenecks and have selected a performance monitoring tool, you need to have a plan to move forward into the tuning process. There are five basic components in a performance tuning methodology that apply to all cases:
3.6.1 Define the problem
Use the process described earlier in this chapter to ensure a complete and thorough understanding of the problem.
3.6.2 Hypothesize solutions
Narrowing in on the cause of a performance problem is an iterative process, involving identification of possible bottlenecks and verification of whether they are indeed bottlenecks. It is important to make sure the correct bottleneck has been identified before pouring in resources to alleviate it. If not, unnecessary expense may be incurred by adding resources that do nothing to improve performance. For example:
To increase the capacity at a bottleneck, think of ways to offload the work arriving there or improve its capacity, through hardware or software. From there, come up with hypotheses of things that may relieve bottlenecks and improve performance. Possible examples follow, though in no particular order. Note that changing the values of system parameters may only be one avenue to pursue.
3.6.3 Design tests
Given the possible solutions, design tests to try them out. Make sure that these tests are repeatable. Approach the testing effort methodically, testing each hypothesis one at a time.
3.6.4 Set values and run tests
Setting new variable values and running tests is probably the most iterative part of the entire process. In this stage, response time should be measured for specific, repeatable events, both before and after changing a value.
3.6.5 Analyze the results
Analyzing the results of your tests involves being able to interpret and explain the data you obtain in order to understand what's going on in the system. Information explaining the results should be available with the software tools used for the testing. SPM/2 has very detailed help screens that explain all the parameters it monitors.
Chapter
4Basic OS/2 Tuning Procedures
4.0 Introduction
After installation, there are changes that you can make to improve the performance of OS/2 Warp 4. Some of these changes like changing desktop settings are general in nature and will make slight improvements in the overall system performance. These changes can be done by any user and are listed in this section. Other changes are more specific for certain system components such as the system swap file, file systems, the CONFIG.SYS file, etc. These changes require certain knowledge of how various OS/2 components interact with each other. Such changes are listed in the next section, "Advanced OS/2 Tuning."
4.1 General system changes
4.1.1 The OS/2 WarpCenter
The OS/2 WarpCenter is a customizable, object-based status bar that can remain on top of all maximized windows. You can use the OS/2 WarpCenter to perform OS/2 desktop operations and display information about your system. You can display battery usage, system activity, and disk space monitors. OS/2 WarpCenter monitors the CPU activity on your computer and displays it through the system activity pulse. It indicates periods of low, medium, and high activity.
TIP:
1.Select "OS/2 System" -> "WarpCenter"
2.Click on the right mouse button and select "Properties"
3.Click "Monitors"
4.Remove the check from Show system activity pulse
5.Exit
4.1.2 The OS/2 Warp Guide
OS/2 Warp 4 provides the OS/2 WarpGuide folder which contains guidance objects for selected computer tasks. Some objects have cue cards available to assist you with each step of the task.
NOTE:
TIP:
1.Display the pop-up menu for the OS/2 WarpGuide folder.
2.Click Properties, and then click Appearance.
3.Remove the check from Assist Me with selected tasks.
4.1.3 Animation
Animation is the process of drawing boxes on the screen that appear to grow in size culminating in an open folder or session. This gives a nice appearance when drawing the screen objects. Disabling animation will save a small amount of system resource that would otherwise be used to expand and contract graphical brackets around folders as they are opened or closed
TIP:
1.Select "OS/2 System" -> "System Setup" -> "System" -> "Window"
2.Select "animation" -> "Disabled"
3.Exit
4.1.4 Changing display drivers
During installation, OS/2 Warp detects your system display adapter hardware and installs the appropriate display drivers and resolutions. However, the higher the resolution, the more memory that is used. Very high resolution and color support can require 100 to 200K of physical memory. Since the display drivers and resolutions have great impact on your system performance, you can tune your display subsystem as follows.
1.Select "OS/2 System" -> "System Setup" -> "System" -> "Screen"
2.Select the desired resolution
3.Exit
4.Shutdown and reboot the system
1.Select "OS/2 System" -> "System Setup" -> "Install/Remove" -> "Selective Install"
2.Click on Primary Display -> Click OK
3.Chose the desired display type
4.Follow remaining selections
5.Shutdown and reboot the system
TIP:
4.1.5 Minimize applications and folders
The OS/2 system responsiveness may be better if you minimize frequently used applications between use since accessing a minimized application is always faster than starting the same application. This is also true when frequently working with the same folders.
TIP:
4.1.6 Starting applications
Performance when starting applications can be improved by reducing the application load time.
TIP:
4.1.7 Use startup folder
Applications and folders can be opened several ways. You can open your application faster if you know how to take advantage of the Startup Folder and the OS/2 multitasking feature.
TIP:
4.1.8 Multitasking considerations
OS/2 is true multitasking operating system. It manages multiple applications running concurrently by sharing system resources. If your resource is limited, e.g., memory, processing power, then you would see performance degradation when executing multiple applications. To alleviate these problems, you can use the following tips.
TIP:
4.1.9 Schemes and color palette
You should use solid colors and avoid the use of bitmaps for desktop and folder backgrounds. These particular options use more memory and require more processing time to display them.
4.1.10 Sounds
Deselect the System Sounds options, unless you like the sounds when opening and closing your folders. It costs between 250 and 300K in working set just to hear the sound. An additional 40K or so of working set can be saved by executing DINSTSND.CMD in an OS/2 command session. This will unhook the system sounds from the OS/2 desktop. To get them back, you would execute INSTSND.CMD.
4.1.11 Font palette
There are many fonts supplied with OS/2 and even more supplied with various word processing and graphics applications. Avoid the temptation of installing more fonts than are necessary by installing only the ones that you will use. You can always install others later if you should need them. This simple exercise of restraint will improve performance when loading applications that use fonts. Each installed font uses at least 2KB of memory, even if it is not being used. This number increases significantly when you actually use the font in an application.
When you have a choice of choosing which kind of fonts to install on your system, remember that outline fonts are more efficient than bitmapped fonts because the characters are cached into memory. With bitmapped fonts, the entire character rendering is loaded into memory. Bitmapped fonts are defined for a specific screen resolution and display type, whereas outline fonts are scaleable and tailored to the specific device installed on the system.
4.1.12 System logo
Setting the System Logo option to none can save some time when loading applications that check this parameter to see how long to display their applications logo.
4.1.13 Mouse
Mouse pointers are basically bitmaps. The amount of memory used will be affected by which mouse pointer style you choose. If you activate the comet cursor, this will cost additional memory and processing time whenever the mouse is being used.
4.1.14 Desktop utilization
It is important to close folders and applications when they are no longer being used. Although a large portion of unused programs will be swapped out, some portion of every program is non-swappable and will use memory for as long as the program is active. The more active programs in the system, the more memory will be used.
As placed ( or Flowed) icon views offer faster performance than Gridded views for folders containing multiple objects. The operating system has to retrieve an objects coordinates from the OS2.INI if a Gridded view is being used. Flowed views display one object after another without keeping track of specific coordinates.
You should also restrict the use of programs which, as a class are more decorative than useful. That is, the amount of function they provide is low compared to the memory they use. These programs, like screen savers, clocks and animated icons should not be used on systems with a limited amount of memory.
Chapter
5Advanced OS/2 Tuning
5.0 Introduction
There are many more tuning parameters for an OS/2 system than discussed in the previous section. This section will detail advanced tuning parameters and explain how they can be used to further improve your system performance. This chapters focus will be on tuning parameters that optimize the Workplace Shell, task scheduling, CONFIG.SYS and AUTOEXEC.BAT files.
5.1 Tuning tips for the Workplace Shell
This section discusses the workplace shell and its tuning tips.
5.1.1 The PMSHELL environment
The Workplace Shell starts automatically when OS/2 is booted. The Workplace process is the one under which all the Workplace Shell classes are loaded and initialized. Therefore, objects representing Workplace Shell classes and their subclasses must run on this process. The Workplace process is actually launched from the Shell process, which is the process indicated in the SET PROTSHELL= statement in the CONFIG.SYS file. Once the Shell process is running, it starts the Workplace process. The Shell process is responsible for restarting the Workplace process in the event that it is ended as a result of a trap.
NOTE:
5.2 Task scheduling
The OS/2 operating system performs prioritized, preemptive, multitasking. Prioritized means that the operating system does not divide CPU time equally among all threads. All programs do not get equal access to the CPU. A prioritizing, time-slicing strategy is used to allocate access to the CPU among competing threads. Each thread has a priority and the operating system executes the highest priority thread that is ready to run. Programs with higher priorities (a real-time robotics application, for example), are given access to the CPU before programs with lower priorities. If a thread with a higher priority than the currently running thread becomes ready to run, the current thread is stopped immediately, or preempted, and the higher priority thread is given the CPU. The lower priority thread does not get to complete its time slice until later. Threads of equal priority are given CPU time in a round-robin manner.
Preemptive means that the multitasking activity needs no cooperation from the executing programs. The operating system maintains control over executing programs, and stops, or preempts, them when their time slice with the CPU is over or when a higher priority program is ready to run.
CPU scheduling is based on the following four priority classes, ranked in order from lowest priority to highest:
Each class has 32 levels of execution ordering. Scheduling parameters are user-selectable at the time the system is started or can be varied dynamically based on system load.
Depending on a thread's priority class and level, the operating system periodically gives each thread in each process a small slice of CPU time. Threads with higher priorities always run before threads having lower priorities. A thread runs until its time is up or until a thread with a higher priority is ready to run. At that time, the operating system preempts the thread and starts another thread. Threads can also voluntarily relinquish the CPU (for example, by calling DosSleep).
The amount of time in each time slice is defined by the TIMESLICE command in the CONFIG.SYS file. The TIMESLICE command can be used to customize the size of the time slices that a thread gets. The default is for the operating system to dynamically vary the size of the time slice based on the activity of the thread and the overall system load.
When a thread is created (using DosCreateThread), it inherits the priority of the thread that started it. DosSetPriority enables threads to change their priority classes and levels in response to changes in their execution environments. DosSetPriority enables a thread to change its own priority, or the priority of any thread within its process. DosSetPriority also enables changing priorities for the entire process and for descendant processes. Within each class, the priority level of a thread can vary because of a DosSetPriorty request or, if dynamic priority variation is being used, because of action taken by the operating system.
TIP:
5.3 The CONFIG.SYS file
OS/2 provides a considerable amount of flexibility in the settings in the CONFIG.SYS file. You can change these settings for exploration and