HP OpenVMS Systems

ask the wizard
Content starts here

File Fragmentation and Extension Headers?

» close window

The Question is:

I have a large RMS file that is Fragmented. Using a product called Perfect disk
 it states the file has over 1,400 fragments.  The size of the file is
 23,617,385M blocks. If I dump the header information it states: the value of
 154 for "Map areas in use".
I Remember reading many years ago something about the INDEXF.SYS and value of
 155 giving error message about "no more files can be added to the disk."
Was this a pre V6 problem? Are the values for the map areas in use still in
 range of (9 - 155)? The reason this file never gets defragmented it is opened

The Answer is :

  Your recollection of around the INDEXF.SYS is correct.  It is true that
  INDEXF.SYS is limited to a single file header, which makes the map area
  word limit of 155 significant. This is also true of pagefiles, swapfiles
  and system dump files.  It is NOT relevant to any other file types.
  When the map area in the header of a "normal" file fills up, OpenVMS
  allocates an extension header in which new extent pointers are stored.
  You can follow the chain of extension headers using DUMP/HEADER/BLOCK=COUNT:0
  Note the "Extension file identification:" field.  DUMP will also display
  the extension headers all along the chain. Since each header can contain
  between 50 and 70 extents, your file with 1400 extents will comprise
  somewhere between 20 and 30 extension headers, assuming no other attributes
  that consume header space (eg: ACLs).
  You can continue to add extension headers until you run out of disk space
  or file headers.  The file will continue to *work* correctly, but it may
  suffer in performance. To find a specific block, the system may need to
  walk the extension header chain sequentially.
  The OpenVMS Wizard once observed an RMS indexed file in which the root
  bucket, originally contained in an extent pointed to from the first header,
  had been split. The overflow bucket was allocated to an extent pointed to
  from an extension header some 50 or so headers down the chain.  The I/O
  performance for this file was unsurprisingly rather dismal.
  If this file is regularly accessed in an environment where performance is
  critical, the OpenVMS Wizard would recommend this file be CONVERTed on a disk
  with excess contiguous free space, and with generous RMS ALLOCATION and
  EXTENSION values for all file areas.  This will help keep the file, if not
  contiguous, at least in a single file header.   If this file is not
  performance-sensitive -- it is a log file, for example -- it is harmless.
  The OpenVMS Wizard would also use DFU (Freeware) or a similar tool to
  evaluate the fragmentation level of of the volume, and would use BACKUP
  or other tool to defragment it as needed.  Further, an investigation of
  the settings of the initial file allocation and file extension sizes
  are definitely warranted.  These settings are available on a process,
  file, volume, and system-wide basis.

answer written or last revised on ( 23-FEB-2001 )

» close window