Course type
Course location
Course dates
Full course price

This course presents OpenVMS performance under three subsystems: memory management, I/O, and CPU.


System Management I or equivalent experience and fundamental understanding of programming concepts (compiling, linking, and executing programs) – see OpenVMS Programming Concepts.

Course Objectives

Upon completion of the course, students should be able to:

  • Isolate performance bottlenecks to one of the three subsystems
  • Identify the effects of SYSGEN parameters on each of the subsystems, when to change these parameters, and when other management modifications or the purchase of new hardware will be required
  • Keep the system running and tune the system
  • Understand and use AUTOGEN effectively

Course Audience

OpenVMS system managers
OpenVMS system programmers

Course Outline

  • Performance issues
  • Performance bottlenecks
  • OpenVMS performance metrics
  • OpenVMS performance tools
  • Layout of virtual address space (VAX, Alpha, IA64)
  • Address space
  • OpenVMS memory management
  • P0 space contents
  • P1 space layout
  • System space layout (Alpha, IA64)
  • System space
  • S0/S1 space
  • Monitoring pool
  • Nonpaged pool reclamation
  • Pool zones
  • Lock manager use of pool zones
  • Paging compared to swapping
  • Address translation
  • Page faults
  • Locating pages in virtual memory
  • Producing an image file
  • Image activation and paging
  • Free page list
  • Valid pages and the working set list
  • Free list fault rate
  • Modified list fault rate
  • Secondary hard faults
  • Sample display from $ MONITOR PAGE
  • Interpreting the $ MONITOR PAGE display
  • Interpreting paging metrics
  • $ SHOW MEMORY (Alpha, IA64)
  • Working set list
  • Working set size vs. working set list size
  • Parameters affecting the working set list size
  • Automatic Working Set Adjustment (AWSA)
  • Working set performance considerations
  • AWSA performance considerations
  • AWSA parameters
  • Locality
  • Locality issues
  • Effects of poor locality
  • Effect of improving locality
  • Shared image costs and benefits
  • Image activation and paging
  • Linking shareable images
  • Alpha & IA64 resident images
  • Shared address data
  • Modified page list
  • Modified page list parameters and metrics
  • Modified page list performance considerations
  • MPL performance and analysis
  • Modified page writer parameter relationships
  • The Swapper and memory reclamation
  • Free page list parameter relationships
  • General I/O flow
  • Geometry of disks
  • Time-based components of a disk transfer
  • Optimization of disk operations
  • Virtual I/O cache
  • Extended File Cache (XFC)
  • XFC SYSGEN parameters
  • Permanent vs. dynamic XFC cache size
  • Monitoring the XFC
  • Monitoring volume activity
  • Monitoring file activity
  • Cache control
  • Resetting cache counters
  • Determining I/O rates
  • Dump of header for X.DAT
  • Effect of making file contiguous
  • Effect of making both files contiguous
  • Using multiple spindles
  • Controller optimizations
  • Locating bottlenecks
  • Other optimizations through layered products
  • RAID
  • Files-11 terminology
  • Directory concepts
  • File open operation
  • Contiguity and the file system
  • Window turns
  • Preventing fragmentation
  • Split transfers
  • Window turns vs. split transfers
  • Accessing sequential files
  • Accessing files randomly
  • File system caches
  • Shared and private caches
  • Checking for shrunken caches
  • RMS file concepts
  • Summary of RMS file organizations
  • File structures
  • Indexed file organization for a file with no alternate keys
  • RMS interfaces for affecting file structure
  • Bucket splits
  • Indexed file growth
  • Factors affecting bucket splits
  • Duplicate keys for data records
  • Compression
  • File definition language
  • Techniques for creating data files using an FDL file
  • Creating a data file from an FDL file
  • Optimizing RMS indexed files
  • Examining file structures
  • Example using RMS utilities to tune an indexed file structure
  • Example testing random access of indexed files
  • Buffers and buckets
  • Design considerations
  • Multiblock count example
  • Read ahead/write behind
  • Deferred write
  • Setting up multiple buffers
  • Determining the number of local buffers
  • Global buffers
  • $ MONITOR RMS example
  • CISC vs. RISC vs. EPIC architectures
  • Understanding CPU performance
  • Alignment considerations example
  • Data alignment issues
  • Nonaligned data example
  • Nonaligned and compiler aligned data sample runs
  • Aligned data example
  • Badly aligned example
  • Well aligned example
  • C code with bad alignment
  • C small data accesses issues
  • C code with good alignment
  • Debugger issues
  • Using the BREAK/UNALIGNED Debugger Option
  • CPU performance and symmetric multiprocessing
  • Cell-based systems performance options
  • Galaxy shared-everything model
  • CPU migration options
  • Sample CPU migration using DCL
  • CPU and interrupt controls using DCL
  • OpenVMS access modes
  • Interrupt stack/state time
  • Sample $ MONITOR TIMER
  • Impact of high timer service rate
  • MP synchronization time
  • Dedicated CPU Lock Manager
  • Dedicated CPU Lock Manager interaction
  • Dedicated CPU Lock Manager examples
  • Impact of the Dedicated CPU Lock Manager
  • Dedicated CPU Lock Manager litmus test
  • Idle time
  • Examining time spent in access modes
  • Compatibility mode time
  • Analyzing time spent in modes
  • Quantum and CPU time
  • Priorities
  • Waiting states
  • States of concern
  • Class scheduler
  • Class scheduler example
  • Locking concepts
  • Other characteristics of locks
  • Application design and locking performance
  • Locking considerations
  • Record options in RAB for locking shared files
  • Sample $ MONITOR LOCK/local buffers
  • $ MONITOR LOCK display (global buffers)
  • Interpreting the MONITOR LOCK display
  • Lock manager parameters
  • Global buffers
  • Global buffer read-mode bucket locking
  • RMS contention policies
  • Setting RMS contention policies
  • No query locking
  • Distributed locking concepts
  • PE1 processing
  • Sample $ MONITOR RLOCK
  • Lock tree inbound example
  • Higher activity example
  • Higher LOCKDIRWT example
  • Performance issues with distributed locking
  • Distributed locking example
  • MSCP server
  • Interpreting $ MONITOR MSCP

Instructors in this course

Gerrit Woertman

38 years of OpenVMS support and teaching experience. Application support, Fortran programming, demo-center, consultancy, pre-sales. HP Certified OpenVMS Systems Engineer with extensive systems management and migration experience.
Languages: English, Dutch

Tom Wade

HP Certified OpenVMS Systems Engineer with 36 years of OpenVMS support and teaching experience; has lectured in UCD to degree level in computer science and computer networking.
Languages: English

Mark Jilson

20 years of VMS support and teaching experience.
Languages: English