Previous | Contents | Index |
E.1 Resources Used by DLB Plus
DLB Plus requires a BYTLM quota of at least 50000 and a PGFLQUO of at least 35000. |
The DLB Plus distribution directory contains less than 12,000 blocks of disk space. The distribution directory includes all of the files required for both OpenVMS 5.x and OpenVMS 6.x. When the DLBPLUS_STARTUP procedure is executed, it selects the files needed for your version of OpenVMS. In addition, various files helpful to TTI's support people are included in the directory.
The DLB Plus analyzer uses about three blocks of disk space for every ten OpenVMS locks. This data space is used to contain file lock detail information.
DLB Plus uses the system logical TTI_DLB to store the location of the DLB Plus package. This logical is created by the DLBPLUS_STARTUP.COM command file.
DLB_OPTIONS | DLBP performance options |
DLB_PROCESS_PID | DLBP process ID |
DLB_STATUS_INFO | DLBP internal status information |
DLB_SYSBUF_ADDR | DLBP internal system buffer address |
DLBP_VERSION | Product version |
Do not deassign or change the contents of the DLB_SYSBUF_ADDR logical. Changes to this logical results in the loss of about 10,000 bytes of NPAGEDYN. The lost bytes will not be reacquired until the system is rebooted. |
E.2 Resources Used by the Fragmentation Prevention Feature
Fragmentation prevention runs as a detached process. Fragmentation
prevention also includes a pseudo device driver. This driver uses less
than 5000 bytes of NPAGEDYN. In addition, about 50,000 bytes of
NPAGEDYN are used for parameter and statistics buffers.
Because fragmentation prevention can dynamically control the window-size that a given file uses, we recommend a BYTLM of at least 50000.
Fragmentation prevention uses the system logical TTI_DLB to store the location of the feature. This logical is created by the start up command file.
The following logicals are used internally by fragmentation prevention:
CD_PID | PID of the fragmentation prevention detached process |
CD_STATUS | Status of the last fragmentation prevention startup |
The following is an example of the installation of DLB Plus on a VAX or Alpha computer system:
Username: SYSTEM Password: (the system password) $ CREATE/DIRECTORY SYS$SYSDEVICE:[TTI_DLBPLUS] $ SET DEFAULT SYS$SYSDEVICE:[TTI_DLBPLUS] $ DIRECTORY No files found. $ ALLOCATE MSA0: _MSA0: allocated $ MOUNT MSA0:/FOREIGN Volume is write locked DLBP mounted on _MSA0: $ BACKUP/LOG MSA0:dlb *.*/NEW_VERSION/VERIFY . . . $ DISMOUNT MSA0: $ DEALLOCATE MSA0: (one of the start up commands is issued here - see following) $ log SYSTEM logged out at 01-MAY-1995 09:50:59.95 |
Both DLB Plus and fragmentation prevention can be started up at the same time. They can also be started up separately. The following shows the start up commands that can be used and the informational text that is displayed when a startup command is issued.
The *.EXE files are linked the first time DLP Plus and/or fragmentation prevention are started up. |
$ @DLBPLUS_STARTUP CD Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup Copyright (c) 1991-1996 Touch Technologies, Inc. [ Linking DLB_DISPLAY_V61.EXE ] [ Linking DLB_STARTUP_V61.EXE ] [ Linking DLB_STATUS_V61.EXE ] [ Linking DLB_V61.EXE ] [ Linking DLBP_GATHER_V61.EXE ] [ Linking DLBP_BLOCKED_V61.EXE ] [ Linking DLBP_CHECK_LMF_V61.EXE ] [ Linking CD_CONTROL_SHR_V61.EXE ] [ Linking CD_SERVER_V61.EXE ] [ Linking CD_CONTROL_V61.EXE ] [ Linking CDDDRIVER_V61.EXE ] DLB - Dynamic Load Balancer - Startup Utility Dynamic Load Balancer, Copyright (c) 1991-1996 Touch Technologies, Inc. %RUN-S-PROC_ID, identification of created process is 20E0069C Starting DLB Plus CleanDisk... %RUN-S-PROC_ID, identification of created process is 20E0059D DLB Plus CleanDisk startup completed DLB Plus startup completed $ |
$ @DLBPLUS_STARTUP Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup Copyright (c) 1991-1996 Touch Technologies, Inc. [ Linking DLB_DISPLAY_V61.EXE ] [ Linking DLB_STARTUP_V61.EXE ] [ Linking DLB_STATUS_V61.EXE ] [ Linking DLB_V61.EXE ] [ Linking DLBP_GATHER_V61.EXE ] [ Linking DLBP_BLOCKED_V61.EXE ] [ Linking DLBP_CHECK_LMF_V61.EXE ] [ Linking CD_CONTROL_SHR_V61.EXE ] [ Linking CD_SERVER_V61.EXE ] [ Linking CD_CONTROL_V61.EXE ] [ Linking CDDDRIVER_V61.EXE ] DLB - Dynamic Load Balancer - Startup Utility Dynamic Load Balancer, Copyright (c) 1991-1996 Touch Technologies, Inc. %RUN-S-PROC_ID, identification of created process is 20E0089E $ |
$ @DLBPLUS_STARTUP CD_ONLY Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup Copyright (c) 1991-1996 Touch Technologies, Inc. [ Linking DLB_DISPLAY_V61.EXE ] [ Linking DLB_STARTUP_V61.EXE ] [ Linking DLB_STATUS_V61.EXE ] [ Linking DLB_V61.EXE ] [ Linking DLBP_GATHER_V61.EXE ] [ Linking DLBP_BLOCKED_V61.EXE ] [ Linking DLBP_CHECK_LMF_V61.EXE ] [ Linking CD_CONTROL_SHR_V61.EXE ] [ Linking CD_SERVER_V61.EXE ] [ Linking CD_CONTROL_V61.EXE ] [ Linking CDDDRIVER_V61.EXE ] Starting DLB Plus CleanDisk... %RUN-S-PROC_ID, identification of created process is 20E0099F DLB Plus CleanDisk startup completed DLB Plus startup completed $ |
The following is an example of making changes to SYS$SYSTEM:MODPARAMS.DAT and then running the Digital supplied SYS$UPDATE:AUTOGEN.COM.
Example G-1 Editing MODPARAMS.DAT and using AUTOGEN to change SYSGEN parameters |
---|
Username: SYSTEM Password: Last interactive login on Friday, 1-SEP-1995 16:29 Last non-interactive login on Saturday, 2-SEP-1995 17:34 $ SET DEFAULT SYS$SYSTEM $ EDIT MODPARAMS.DAT . . ! move to the bottom of the file . MPW_HILIMIT = (MEMSIZE*15)/100 ! change for DLB Plus MPW_WAITLIMIT = MPW_HILIMIT ! change for DLB Plus . . ! exit from the editor . $ @SYS$UPDATE:AUTOGEN GETDATA SETPARAMS . . . $ @SYS$SYSTEM:SHUTDOWN SHUTDOWN -- Perform an Orderly System Shutdown How many minutes until final shutdown [0]: 0 Reason for shutdown [Standalone]: Do you want to spin down the disk volumes [NO]? Do you want to invoke the site-specific shutdown procedure [YES]? Should an automatic system reboot be performed [NO]? YES When will the system be rebooted [shortly via automatic reboot]: Shutdown options (enter as a comma-separated list): REMOVE_NODE Remaining nodes in the cluster should adjust quorum CLUSTER_SHUTDOWN Entire cluster is shutting down REBOOT_CHECK Check existence of basic system files SAVE_FEEDBACK Save AUTOGEN feedback information from this boot Shutdown options [NONE]: . . ! The system is shutdown...and then rebooted by OpenVMS . |
DLB Plus changes a number of DYNAMIC SYSGEN parameters. Changes to DYNAMIC parameters take effect while OpenVMS is running. DLB Plus changes DYNAMIC parameters in order to tune the system for optimum performance.
The following is a list of the SYSGEN parameters dynamically changed by DLB Plus.
H.1 Parameters
H.1.1 AWSTIME
Description:
The automatic working set list adjustment time in ten millisecond units. Every time a process consumes AWSTIME of CPU resources, its working set list (WSL) is eligible for adjustment.
DLB Plus Usage:
As DLB Plus adjusts QUANTUM, it also adjusts AWSTIME to speed up working set list adjustment.
H.1.2 IOTA
Description:
The amount of time in ten millisecond units charged against QUANTUM when a process voluntarily goes into a wait state.
DLB Plus Usage:
DLB Plus adjusts this parameter continuously based on the value of QUANTUM.
H.1.3 MPW_LOWAITLIMIT
Description:
The writing of modified pages to pagefiles stops when the modified list contains MPW_LOWAITLIMIT pages.
DLB Plus Usage:
DLB Plus adjusts MPW_LOWAITLIMIT in order to reduce I/O operations to pagefiles and to reduce process page faulting.
H.1.4 MPW_THRESH
Description:
When OpenVMS is short on memory, if the current size of the modified page list is above this value, OpenVMS flushes the modified page list.
DLB Plus Usage:
Set to MPW_HILIMIT+1 at DLB Plus startup. Not adjusted thereafter. This prevents OpenVMS from flushing the modified page list when memory is scarce. The modified page list is still flushed if, even after swapping processes, memory is still scarce.
H.1.5 PFRATH
Description:
If the number of process page faults in a 10-second period exceeds this value, OpenVMS may increase the process working set list.
DLB Plus Usage:
PFRATH is reduced by DLB Plus in order to encourage processes to use whatever memory resources they require.
H.1.6 PFRATL
Description:
If the number of process page faults in a 10-second period is less than this value and WSDEC is greater than zero, OpenVMS decreases the process working set list.
DLB Plus Usage:
Set to zero at DLB Plus startup. This turns off OpenVMS automatic working set list decrementing so that DLB Plus can better control memory resources.
H.1.7 PQL_MPGFLQUOTA
Description:
Used by OpenVMS to control the minimum allowable writable virtual address space for each process on the system.
DLB Plus Usage:
When making changes to PQL_MWSEXTENT, the value of PQL_MPGFLQUOTA must also be increased. Otherwise, some Digital supplied utilities (such as the SORT package) will fail.
H.1.8 PQL_MWSEXTENT
Description:
Used by OpenVMS to control the minimum allowable working set extent size for each process on the system.
DLB Plus Usage:
PQL_MWSEXTENT is increased by DLB Plus in order to encourage processes to use whatever memory resources they require.
H.1.9 MMG_CTLFLAGS
Description:
Used by OpenVMS to control a number of optional memory reclamation characteristics.
DLB Plus Usage:
Adjusted by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets MMG_CTLFLAGS to turns off the Digital supplied memory reclamation system.
H.1.10 QUANTUM
Description:
The time, in ten millisecond units, a process may run before it gets rescheduled, assuming it is not preempted by another process running at a higher priority.
DLB Plus Usage:
DLB Plus adjusts QUANTUM continuously based on CPU load.
H.1.11 RSRVPAGCNT
Description:
For each process, controls the number of pages reserved in a given page file. Is also a factor in the distribution of modified pages to multiple page files.
DLB Plus Usage:
Increased by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets RSRVPAGCNT to results in a more balanced distribution of modified pages written to pagefiles.
H.1.12 SWPOUTPGCNT
Description:
The number of pages the SWAPPER attempts to reduce a working set to before starting an outswap of a process.
DLB Plus Usage:
Decreased by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets SWPOUTPGCNT to results in fewer hard page faults when processes are swapped into memory.
H.1.13 WSINC
Description:
The number of pages to increase the working set list size by during automatic working set adjustment.
DLB Plus Usage:
Increased to a value that minimizes the probability of working set list oscillation. In addition, this increase encourages processes to use whatever memory resources they require.
I.1 DLB Plus Questions and Answers
I.1.1 Determining I/O Counts and Rates
Question: How does DLB Plus determine I/O counts and
I/O rates?
Answer: OpenVMS keeps in system memory the total I/O read and write counts for each open file. DLB Plus externalizes this information, writing it into a database. In order to determine I/O rates, DLB Plus performs two samples. The difference in I/O counts divided by the elapsed time between the two samples is the I/O rate in seconds.
I.1.2 I/O Rates Consolidated across Nodes
Question: Do I/O rates consolidate across nodes?
Answer: Yes, in those reports where it makes meaningful sense to do so.
I.1.3 Measuring the Success of RMS Global Buffering
Question: How do I know if setting global buffering on
a file helps to reduce the file's I/O rates?
Answer: Watch the DLB Plus reports. As you increase global buffering on a file, the read I/O count decreases until no more buffering is needed. If you are on OpenVMS 5.x, you can also set statistics on the file and use the Digital provided MONITOR RMS command.
I.1.4 DLB Plus Data Directory
Question: Should only one directory contain DLB Plus
samples?
Answer: Yes, in most cases using a single directory for all samples works best. This allows DLB Plus to perform meaningful across-node consolidations.
I.1.5 Report Generation
Question: When generating a DLB Plus report there is a
difference between records read and records selected. Why is this?
Answer: When sampling the system, DLB Plus creates two sample records for each file open. This is so I/O rates can be calculated. During report generation, the first of the two sample records is skipped. In addition, OpenVMS internal files information is skipped if you didn't ask for it.
I.1.6 Applications and Processes
Question: Will I benefit from using DLB Plus even
though I have only one application running on my system?
Answer: Yes. DLB Plus looks at the number of processes on your system, not the number of applications.
I.1.7 DLB Plus and I/O EXPRESS Memory Usage
Question: Will DLB Plus take memory away from I/O
EXPRESS?
Answer: No. DLB Plus cannot take memory away from I/O EXPRESS, because the part of I/O EXPRESS that uses memory is a device driver and not a process. With the proper I/O EXPRESS settings, DLB Plus greatly enhances the effectiveness of I/O EXPRESS.
I.1.8 Swapping Processes
Question: Does DLB Plus swap processes?
Answer: No, DLB Plus is not a swapper. DLB Plus trims memory from memory-rich processes and makes that memory available to memory-poor processes.
I.1.9 Full Page Files
Question: What does it mean that my page file header
is full, when trying to extend my page file?
Answer: "Page file header full" means that your page file is badly fragmented. To fix a badly fragmented page file, you can either purchase a defragmenter, or BACKUP and RESTORE the fragmented disk. In either case, you need to defragment your disk in order to expand the size of your page file.
I.1.10 Extending Page Files
Question: What are the consequences of not extending
my page file to equal 2 x the total number of physical pages? Will DLB
Plus still run?
Answer: DLB Plus stills run if your page file has not been extended. However, by not extending your page file, your page file may later become full. A full page file causes all processes using that particular page file to be placed in a resource wait state.
I.1.11 Global Pages
Question: Does DLB Plus use any global pages?
Answer: No, DLB Plus does not use any global pages.
I.1.12 Memory Reclamation Facility Conflicts
Question: Will the Digital Memory Reclamation Facility
conflict with DLB Plus's Memory Reclamation Facility?
Answer: No, DLB Plus turns off the new Digital Memory Reclamation Facility. DLB Plus's method of reclaiming memory is much more precise than Digital's method. DLB Plus's memory reclamation is based on page fault rate. Both the current page fault rate and past paging rates are considered. Digital's method relies only on CPU time used as a basis for reclaiming memory.
I.1.13 CPU Bound Processes
Question: Will DLB Plus speed up my CPU bound
processes?
Answer: Probably not. DLB Plus tries to make sure that each process on the system gets its "fair share" of the CPU. In most cases, CPU bound processes are already getting their "fair share" of the CPU.
I.1.14 Dynamic Parameters
Question: Does DLB Plus reset dynamic parameters back
to their original setting once DLB Plus is turned off?
Answer: Yes. When DLB Plus is turned off, all dynamic parameters are set back to their original settings.
I.1.15 Hard and Soft Page Faults
Question: I Notice that with DLB Plus, the Number of
Page Faults Sometimes Increases. Why is that?
Answer: A hard page fault takes about a thousand times longer to complete than a soft page fault. One of DLB Plus's main tasks is to reduce the number of hard page faults. Although the total number of page faults may increase, the number of hard page faults decreases when using DLB Plus.
I.1.16 DLB Plus Monitor System Values
Question: When does DLB Plus get the system values for
the DLB Plus monitor?
Answer: DLB Plus gets the system values for the DLB Plus monitor at each monitor interval. DLB Plus does not use an average, so whatever each system value is at that instant (default time is once every 10 seconds), the value is displayed on the DLB Plus monitor.
I.2 Fragmentation Prevention Questions and Answers
I.2.1 Using Other Disk Defragmenters
Question: If I have fragmentation prevention, can I
still use my online disk defragmenter --- such as DISKEEPER?
Answer: Yes, fragmentation prevention works well as a companion product for any disk defragmentation software. Disk defragmenters constantly defragment files that are not being accessed. Fragmentation prevention constantly does its best to keep open files from becoming excessively fragmented. Disk defragmenters create consolidated free space on the disk. Once files are deleted, by default, OpenVMS does not use the free space, but instead uses random file fragments found in the XQP extent cache. Fragmentation prevention causes OpenVMS to use the consolidated free space as much as it can. The net result is reduced disk and file fragmentation and fewer disk I/Os.
Fragmentation prevention not only causes your system to better use the contiguous space made available by a defragmenter, but also allows the defragmenter to do less work.
Previous | Next | Contents | Index |