VSI LAN Bandwidth Monitoring Guide for OpenVMS x86-64
- Operating System:
- VSI OpenVMS x86-64 Version 9.2-3 or higher
1. Introduction to LAN Bandwidth Monitoring
LAN bandwidth monitoring collects and displays LAN device traffic with fine granularity. The LAN common routines (SYS$LOADABLE_IMAGES:SYS$LAN_CSMACD.EXE) uses a one-second timer for various things including transmit timeout handling, DAT (Duplicate Address Test) timing, and MOP (Maintenance Operations Protocol) System ID timing. The timer runs four times per second, with transmit timeout checking done every 250 milliseconds, and most other things done once per second.
Once per second, the LAN driver for each LAN device records the packets and bytes sent and received over the last second and records an entry in an S2-space buffer. Each 32-byte entry is called a bucket and looks like so:
+---------------------------------------------+ | | 0 +-- Entry start time (EXE$GQ_SYSTIME) --+ | | +---------------------------------------------+ | Packets sent | 8 +---------------------------------------------+ | Packets received | 12 +---------------------------------------------+ | | 16 +-- Bytes sent --+ | | +---------------------------------------------+ | | 24 +-- Bytes received --+ | | +---------------------------------------------+
Once per second, the packets and bytes are calculated for the one-second period just concluding.
A threshold value is defined as the total bytes transmitted and received in the one-second period. By default, this value is 10 000 bytes. A second where the total bytes is less than the threshold value is considered noise or background activity that is not worth tallying explicitly. The threshold value can be set by the LAN Control Program (LANCP) utility.
If the threshold value is zero, buckets contain data for one or more seconds as follows:
Zero bytes were recorded for the second; zero buckets are coalesced with subsequent zero buckets.
Non-zero bytes were recorded for the second; each bucket is one second.
If the threshold value is non-zero, buckets contain data for one or more seconds as follows:
Zero bytes were recorded for the second; zero buckets are coalesced with subsequent zero buckets.
Bytes recorded were less than the threshold; these buckets are coalesced with subsequent buckets that did not exceed the threshold.
Bytes recorded were above the threshold; each bucket is one second.
One-second periods where the traffic exceeds the threshold are significant. One-second periods with zero traffic are also significant; either there is legitimately no activity, or the network could have an issue.
When entries are coalesced, the time coverage of the bandwidth buffer can be much greater than the nominal size of the buffer in one-second buckets.
2. Use Cases of Monitoring LAN Bandwidth
The information provided by LAN bandwidth monitoring can be useful to anyone interested in the LAN traffic processed by a LAN device, looking at a finer granularity than inspecting the LAN device counters periodically. It is also useful for analyzing a system crash dump. Being able to see the traffic before the time of the crash answers questions about network saturation or network outages.
A system manager may periodically look at the LAN bandwidth to see how an application operates on the LAN devices on the system. A system manager can create a batch job to read the bandwidth data once per day and restart the monitoring, or just record historical data for as long as the bandwidth buffer lasts before the buffer is wrapped.
The size of the buffer can be adjusted to collect a minimum of one year of data, extended by threshold value or zero-byte entry coalescing. A system manager could run a batch job once a day to collect the data and restart monitoring.
3. LANCP Bandwidth Commands
This section lists the LANCP commands that are helpful for bandwidth monitoring. For further information on the LANCP utility and LANCP commands, refer to the relevant section in the VSI OpenVMS System Management Utilities Reference Manual, Volume I: A–L or the LANCP online Help.
To display bandwidth data, use the following command:
LANCP> SHOW DEVICE /BANDWIDTH [devname]The following qualifiers provide additional functionality:
| Qualifier | Function |
|---|---|
/DUMPFILE=file-spec | Writes data to a dump file |
/INPUTFILE=file-spec | Reads data from a dump file |
/EXPANDED | Shows data expanded to one-second buckets |
/SUMMARY | Shows summary data |
/SINCE[=timespec] | Shows data since time |
/DURATION[=timespec] | Shows data for time duration starting at
/SINCE |
/LAST[=timespec] | Shows data for last time duration |
/REVERSE | Displays data latest to oldest |
/OUTPUTFILE=file-spec | Redirects output to an output file |
The following additional qualifiers allow you to select certain entries:
| Qualifier | Function |
|---|---|
/1MB | Shows 1 Mbit/second and larger entries |
/10MB | Shows 10 Mbit/second and larger entries |
/100MB | Shows 100 Mbit/second and larger entries |
/1GB | Shows 1 Gbit/second and larger entries |
/2GB | Shows 2 Gbit/second and larger entries |
/5GB | Shows 5 Gbit/second and larger entries |
/10GB | Shows 10 Gbit/second and larger entries |
/[NO]ZERO | Shows zero/non-zero entries |
To display bandwidth summary data included in the configuration display, use the following command:
LANCP> SHOW CONFIGURATION /BANDWIDTH [devname]To display bandwidth settings, use the following command:
LANCP> SHOW BANDWIDTH
To display permanent device database settings, use one of the following commands:
LANCP> LIST BANDWIDTH
LIST BANDWIDTHlists all devices.LANCP> LIST DEVICE /BANDWIDTH [devname]LIST DEVICE /BANDWIDTHonly lists the devices specified. If no devname is given, it is functionally equivalent toLIST BANDWIDTH.
To override default bandwidth settings, use one of the following commands:
LANCP> SET DEVICE /[NO]BANDWIDTH=(HOURS=n,THRESHOLD=nbytes,RESTART,DEFAULT) devname
LANCP> DEFINE DEVICE /[NO]BANDWIDTH=(HOURS=n,THRESHOLD=nbytes) devname
where:
HOURS=n | Specifies size of the buffers in hours (3600 buckets per hour) |
THRESHOLD=nbytes | Specifies the threshold value |
RESTART | Restarts monitoring, discarding existing data |
DEFAULT | Restarts monitoring with default settings, discarding existing data |
To override the default size of the bandwidth buffer for all LAN devices, set the LAN_FLAGS system parameter as follows.
The default size is 2048 buckets (64 kilobytes). The maximum size is 67 hours (7 megabytes of buffer space) set by the LAN_FLAGS system parameter. The time without compression is with a threshold value of zero bytes. With compression (threshold larger than 0 bytes), the time depends on the actual traffic.
Bits <9:11> is the number of megabytes of bandwidth buffer requested as follows:
| LAN_FLAGS | Buckets | Mbytes | Bytes | TimeNoCompress | TimeCompressed |
|---|---|---|---|---|---|
| 0x00000000 | 2048 | 1/16 | 65 536 | 0.6 hours | > 0.6 hours |
| 0x00000200 | 32 768 | 1 | 1 048 576 | 9.1 hours | > 9.1 hours |
| 0x00000400 | 65 536 | 2 | 2 097 152 | 18.2 hours | > 18.2 hours |
| 0x00000600 | 98 304 | 3 | 3 145 728 | 27.3 hours | > 27.3 hours |
| 0x00000800 | 131 072 | 4 | 4 194 304 | 36.4 hours | > 36.4 hours |
| 0x00000A00 | 163 840 | 5 | 5 242 880 | 45.5 hours | > 45.5 hours |
| 0x00000C00 | 196 608 | 6 | 6 291 456 | 54.6 hours | > 54.6 hours |
| 0x00000E00 | 229 376 | 7 | 7 340 032 | 63.7 hours | > 63.7 hours |
To save bandwidth data for later analysis, use the following command:
LANCP> SHOW DEVICE /BANDWIDTH /DUMPFILE=file-spec /OUTPUTFILE=nl: devname
To access the previously saved data, use the following command:
LANCP> SHOW DEVICE /BANDWIDTH /INPUTFILE=file-spec devname
To extract bandwidth data from a crash dump, use the following commands:
$ ANALYZE/SYSTEM SDA> LAN BANDWIDTH /DUMPFILE[=file-spec] /DEVICE=devname
Note
For more information on using the OpenVMS System Dump Analyzer (SDA), refer to the relevant section in the VSI OpenVMS System Analysis Tools Manual.
To turn off bandwidth monitoring, use one of the following commands:
LANCP> SET DEVICE/NOBANDWIDTH devname
LANCP> SET DEVICE/NOBANDWIDTH/ALLUsing the /SUMMARY Qualifier
The /SUMMARY qualifier converts the raw data displayed by the
SHOW DEVICE/BANDWIDTH command into one-second buckets, calculates
a running total for each interval, and then displays the maximum values for each
interval. The /SINCE, /DURATION, and
/LAST qualifiers allow users to specify the desired time period
to look at when calculating the running totals. The interval is the size of the window
to look at the data. For example, the one-hour interval is the one-hour period that
recorded the largest bandwidth over the period selected (as measured from second to
second across the entire period).
4. LAN Bandwidth Monitoring Examples
This section provides several example scenarios.
4.1. Example 1
This section looks at the resultant bandwidth data after doing an FTP (TCP/IP is running on EIA).
1. The following example displays the bandwidth data over the last 60 seconds:
$ MCR LANCP SHOW DEVICE/BANDWIDTH/LAST EIA
VMS Device Bandwidth EIA0 (4-DEC-2025 22:52:11.75):
4-DEC-2025 22:51:12.69 to 4-DEC-2025 22:52:11.75 (00:00:59.05)
2048 buckets, buckets < 10000 bytes coalesced (threshold)
Duration PkXmt PkRcv BytXmt BytRcv Mb/s Code
4-DEC-2025 22:51:18.93 : 4.16 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:23.09 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:51:24.13 : 5.20 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:29.33 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:51:30.37 : 5.20 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:35.57 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:51:36.61 : 5.20 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:41.81 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:51:42.85 : 4.16 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:47.01 : 1.04 : EIA0 293 844 16144 1205485 9 1Mb
4-DEC-2025 22:51:48.05 : 1.04 : EIA0 61 168 3354 238800 2 1Mb
4-DEC-2025 22:51:49.09 : 3.12 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:52.21 : 2.08 : EIA0 0 5 0 589 0 <1Mb
4-DEC-2025 22:51:54.29 : 1.04 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:51:55.33 : 9.36 : EIA0 0 12 0 1385 0 <1Mb
4-DEC-2025 22:52:04.69 : 1.04 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:52:05.73 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:52:06.77 : 5.20 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:52:11.97 : 1.04 : EIA0 0 1 0 81 0 <1Mb
4-DEC-2025 22:52:13.01 : 4.16 : EIA0 0 0 0 0 0 Zero
4-DEC-2025 22:52:17.17 : 1.65 : EIA0 0 1 0 81 0 <1MbYou can see times when there was no data (zero buckets), others with some small amount of data, and then the actual FTP data transfer with over 1 Mbit/second for 2 seconds:
2. The following example also displays the bandwidth data over the last 60 seconds, but restricts the view to one-second intervals with 1 Mbit/second or more:
$ MCR LANCP SHOW DEVICE/BANDWIDTH/LAST/1MB EIA
VMS Device Bandwidth EIA0 (4-DEC-2025 22:52:18.82):
4-DEC-2025 22:51:18.93 to 4-DEC-2025 22:52:18.82 (00:00:59.88)
2048 buckets, buckets < 10000 bytes coalesced (threshold)
Duration PkXmt PkRcv BytXmt BytRcv Mb/s Code
4-DEC-2025 22:51:47.01 : 1.04 : EIA0 293 844 16144 1205485 9 1Mb
4-DEC-2025 22:51:48.05 : 1.04 : EIA0 61 168 3354 238800 2 1MbNote that the starting time of the 60 second display is 7 seconds different.
3. The following example uses the /SUMMARY qualifier to look at
bandwidth use over a 4-hour 52-minute period. It shows intervals for 1, 10, 60, 600,
3600, and 14 400 seconds, as well as the entire 4-hour 52-minute period:
$ MCR LANCP SHOW DEVICE/BANDWIDTH/SUMMARY EIA
VMS Device Bandwidth EIA0 (8-DEC-2025 18:15:35.10):
8-DEC-2025 13:22:38.59 to 8-DEC-2025 18:15:35.10 (04:52:56.51)
2047 buckets, buckets < 10000 bytes coalesced (threshold)
High Points For Each Interval
Start Time --Interval--- PkXmt PkRcv BytXmt BytRcv Mb/s
8-DEC-2025 14:40:17.59 1.00 1s EIA0 0 3 0 1071 0
8-DEC-2025 18:02:38.59 10.00 10s EIA0 0 12 0 2187 0
8-DEC-2025 14:41:17.59 60.00 1m EIA0 0 64 0 4428 0
8-DEC-2025 13:44:22.59 600.00 10m EIA0 2 263 308 19515 0
8-DEC-2025 13:42:40.59 3600.00 1h EIA0 12 973 1848 84915 0
8-DEC-2025 13:26:39.59 14400.00 4h EIA0 48 1767 7392 179564 0
8-DEC-2025 13:22:38.59 17577s EIA0 58 1940 8932 203464 0The 10-second interval, for example, shows the highest 10-second period over the
entire period and it was recorded at the 18:02:38.59 mark.
4.2. Example 2
This section looks at the data shown by the /LAST and
/SUMMARY qualifiers after running a test program to generate
traffic.
1. The following example uses the /LAST qualifier to display
bandwidth data for the last 10 seconds:
$ MCR LANCP SHOW DEVICE/BANDWIDTH EIA/LAST=0:00:10
VMS Device Bandwidth EIA0 (2-SEP-2025 20:13:20.96):
2-SEP-2025 20:13:11.05 to 2-SEP-2025 20:13:20.96 (00:00:09.90)
838 buckets, buckets < 10000 bytes coalesced (threshold)
Duration PkXmt PkRcv BytXmt BytRcv Mb/s Code
2-SEP-2025 20:13:11.05 : 1.04 : EIA0 51854 51926 40660056 40924832 628 100Mb
2-SEP-2025 20:13:12.09 : 1.04 : EIA0 44614 44707 34981302 35233303 540 100Mb
2-SEP-2025 20:13:13.13 : 1.06 : EIA0 55322 55307 43381014 43590525 656 100Mb
2-SEP-2025 20:13:14.19 : 1.04 : EIA0 53056 53049 41602536 41806804 642 100Mb
2-SEP-2025 20:13:15.23 : 1.04 : EIA0 42974 43072 33696514 33946120 520 100Mb
2-SEP-2025 20:13:16.27 : 1.04 : EIA0 57333 57280 44956463 45143800 693 100Mb
2-SEP-2025 20:13:17.31 : 1.04 : EIA0 50183 50176 39347600 39544960 607 100Mb
2-SEP-2025 20:13:18.35 : 1.04 : EIA0 43223 42890 33894674 33804487 521 100Mb
2-SEP-2025 20:13:19.39 : 1.57 : EIA0 48553 48906 38069182 38544156 390 100Mb2. The following example also displays the data for the last 10 seconds (a few
seconds later), but this time the /SUMMARY qualifier is used to
show the summary data:
$ MCR LANCP SHOW DEVICE/BANDWIDTH EIA/LAST=0:00:10/SUMMARY
VMS Device Bandwidth EIA0 (2-SEP-2025 20:14:18.72):
2-SEP-2025 20:14:09.37 to 2-SEP-2025 20:14:18.72 (00:00:09.34)
893 buckets, buckets < 10000 bytes coalesced (threshold)
High Points For Each Interval
Start Time --Interval--- PkXmt PkRcv BytXmt BytRcv Mb/s
2-SEP-2025 20:14:11.37 1.00 1s EIA0 48650 48686 38148580 38370748 612
2-SEP-2025 20:14:09.37 9s EIA0 381440 381590 299096640 300738915 5133. The following example displays the data for the last 30 seconds. The number of buckets is increasing as a new bucket is written to the bandwidth buffer every second:
$ MCR LANCP SHOW DEVICE/BANDWIDTH EIA/LAST=0:00:30
VMS Device Bandwidth EIA0 (2-SEP-2025 20:14:40.78):
2-SEP-2025 20:14:11.45 to 2-SEP-2025 20:14:40.78 (00:00:29.32)
915 buckets, buckets < 10000 bytes coalesced (threshold)
Duration PkXmt PkRcv BytXmt BytRcv Mb/s Code
2-SEP-2025 20:14:11.45 : 1.04 : EIA0 51340 51377 40257721 40492055 621 100Mb
2-SEP-2025 20:14:12.49 : 1.04 : EIA0 44696 44598 35048428 35149452 540 100Mb
2-SEP-2025 20:14:13.53 : 1.04 : EIA0 50481 50541 39583715 39832875 611 100Mb
2-SEP-2025 20:14:14.57 : 1.04 : EIA0 45803 45291 35913056 35692825 551 100Mb
2-SEP-2025 20:14:15.61 : 1.04 : EIA0 50223 50735 39381244 39985272 611 100Mb
2-SEP-2025 20:14:16.65 : 1.04 : EIA0 46673 46494 36597332 36643736 563 100Mb
2-SEP-2025 20:14:17.69 : 1.04 : EIA0 49792 49775 39043152 39228290 602 100Mb
2-SEP-2025 20:14:18.73 : 1.04 : EIA0 25104 25340 19684674 19973212 305 100Mb
2-SEP-2025 20:14:19.77 : 1.04 : EIA0 46128 46139 36170118 36363075 558 100Mb
2-SEP-2025 20:14:20.81 : 1.04 : EIA0 47104 47110 36935424 37128454 570 100Mb
2-SEP-2025 20:14:21.85 : 1.05 : EIA0 45571 45558 35734852 35903593 546 100Mb
2-SEP-2025 20:14:22.90 : 1.04 : EIA0 52797 52853 41397956 41656992 639 100Mb
2-SEP-2025 20:14:23.94 : 1.07 : EIA0 46529 46489 36484802 36637574 547 100Mb
2-SEP-2025 20:14:25.01 : 1.04 : EIA0 48942 48882 38376530 38524474 592 100Mb
2-SEP-2025 20:14:26.05 : 1.04 : EIA0 50269 50334 39417789 39670136 608 100Mb
2-SEP-2025 20:14:27.09 : 1.07 : EIA0 43161 42971 33845097 33868012 506 100Mb
2-SEP-2025 20:14:28.16 : 1.04 : EIA0 49691 49863 38961734 39296132 602 100Mb
2-SEP-2025 20:14:29.20 : 1.04 : EIA0 50884 50871 39901337 40095146 615 100Mb
2-SEP-2025 20:14:30.24 : 1.05 : EIA0 43443 43273 34065261 34102094 519 100Mb
2-SEP-2025 20:14:31.29 : 1.04 : EIA0 50865 51014 39884435 40207803 616 100Mb
2-SEP-2025 20:14:32.33 : 1.04 : EIA0 45272 45128 35496551 35564763 547 100Mb
2-SEP-2025 20:14:33.37 : 1.05 : EIA0 49688 49810 38963959 39255854 596 100Mb
2-SEP-2025 20:14:34.42 : 1.04 : EIA0 49640 49507 38921609 39019196 600 100Mb
2-SEP-2025 20:14:35.46 : 1.04 : EIA0 43919 44018 34438120 34692416 532 100Mb
2-SEP-2025 20:14:36.50 : 1.04 : EIA0 45941 45972 36025273 36231606 556 100Mb
2-SEP-2025 20:14:37.54 : 1.04 : EIA0 50706 50664 39760316 39927670 613 100Mb
2-SEP-2025 20:14:38.58 : 1.05 : EIA0 47184 47186 36998154 37189708 565 100Mb
2-SEP-2025 20:14:39.63 : 1.15 : EIA0 52122 52254 40867769 41181442 571 100Mb4. The following example shows the /SUMMARY data for the last
30 seconds:
$ MCR LANCP SHOW DEVICE/BANDWIDTH EIA/LAST=0:00:30/SUMMARY
VMS Device Bandwidth EIA0 (2-SEP-2025 20:14:46.87):
2-SEP-2025 20:14:17.69 to 2-SEP-2025 20:14:46.87 (00:00:29.17)
920 buckets, buckets < 10000 bytes coalesced (threshold)
High Points For Each Interval
Start Time --Interval--- PkXmt PkRcv BytXmt BytRcv Mb/s
2-SEP-2025 20:14:39.69 1.00 1s EIA0 50019 50143 39219096 39517536 630
2-SEP-2025 20:14:31.69 10.00 10s EIA0 461928 462040 362207380 364144768 581
2-SEP-2025 20:14:17.69 29s EIA0 1274929 1275014 999703952 1004871677 5504.3. Example 3
This section looks at running a test program to generate traffic, then crashing the system and looking at the resultant dump file.
1. The following command is used to manually crash the system:
$ RUN SYS$SYSTEM:OPCCRASH.EXE
Open user files prevent dismounting host device _VMS$DKA0:
Cannot deinstall page/swap file DISK$VMS_DKA0:[SYS0.SYSEXE]PAGEFILE.SYS;1
(index # 254)
VSI Dump Kernel - Handles Shutdown/Reboot/Crash Dumps
** Dumping error logs to the system disk (VMS$DKA0:)
** Error logs dumped to VMS$DKA0:[SYS0.SYSEXE]SYS$ERRLOG.DMP
** (used 52 out of 64 available blocks)
** Dumping memory to the system disk (VMS$DKA0:)2. Then, after reboot, the following command is used to look at the dump file:
$ ANALYZE/CRASH_DUMP file-spec
OpenVMS system dump analyzer
...analyzing an x86-64 interleaved memory dump...
Dump taken on 2-SEP-2025 20:41:32.22 using version XGR0-K6N
OPERATOR, Operator requested system shutdownwhere file-spec is the full path to the dump file.
3. SDA does not display bandwidth data, so the following command is used to extract the data to a dump file:
SDA> LAN BANDWIDTH/DUMP=BAND.DMP/DEVICE=EIA
LAN$SDA(X-88) Extension on VMS (Red Hat KVM) crash at 2-SEP-2025 20:41:32.22
------------------------------------------------------------------------------
Wrote bandwidth data for EIA to BAND.DMP
To view, LANCP SHOW DEVICE/BANDWIDTH/INPUT=BAND.DMP4. Finally, LANCP is used to look at the bandwidth data using the dump file
created with SDA as the input file for LANCP. The following example shows the
/SUMMARY data:
$ MCR LANCP SHOW DEVICE EIA/BANDWIDTH/INPUT=BAND.DMP/SUMMARY
VMS Device Bandwidth EIA0 (2-SEP-2025 21:00:19.71):
2-SEP-2025 20:26:16.38 to 2-SEP-2025 20:41:30.77 (00:15:14.39)
878 buckets, buckets < 10000 bytes coalesced (threshold)
High Points For Each Interval
Start Time --Interval--- PkXmt PkRcv BytXmt BytRcv Mb/s
2-SEP-2025 20:31:33.38 1.00 1s EIA0 53283 53127 41778668 41869964 669
2-SEP-2025 20:30:09.38 10.00 10s EIA0 493224 493240 386747508 388734846 620
2-SEP-2025 20:30:35.38 60.00 1m EIA0 2862393 2862372 2244474690 2255906912 600
2-SEP-2025 20:26:18.38 600.00 10m EIA0 27856427 27856270 21842918k 21954221k 584
2-SEP-2025 20:26:16.38 914s EIA0 42355832 42355717 33212263k 33381597k 583The following example shows the data for the previous 30 seconds:
$ MCR LANCP SHOW DEVICE EIA/BANDWIDTH/INPUT=BAND.DMP/LAST=0:00:30
VMS Device Bandwidth EIA0 (2-SEP-2025 21:00:34.99):
2-SEP-2025 20:41:02.62 to 2-SEP-2025 20:41:30.77 (00:00:28.14)
878 buckets, buckets < 10000 bytes coalesced (threshold)
Duration PkXmt PkRcv BytXmt BytRcv Mb/s Code
2-SEP-2025 20:41:02.62 : 1.04 : EIA0 47078 47087 36913231 37109810 569 100Mb
2-SEP-2025 20:41:03.66 : 1.04 : EIA0 45806 45848 35918282 36136156 554 100Mb
2-SEP-2025 20:41:04.70 : 1.04 : EIA0 53617 53585 42041912 42231851 648 100Mb
2-SEP-2025 20:41:05.74 : 1.04 : EIA0 47127 47123 36955719 37138565 570 100Mb
2-SEP-2025 20:41:06.78 : 1.04 : EIA0 50217 50252 39374145 39604934 608 100Mb
2-SEP-2025 20:41:07.82 : 1.05 : EIA0 41943 41941 32890815 33054335 502 100Mb
2-SEP-2025 20:41:08.87 : 1.04 : EIA0 48832 48834 38290392 38486234 591 100Mb
2-SEP-2025 20:41:09.91 : 1.06 : EIA0 48826 48842 38283293 38495252 579 100Mb
2-SEP-2025 20:41:10.97 : 1.04 : EIA0 53795 53824 42183496 42420040 651 100Mb
2-SEP-2025 20:41:12.01 : 1.04 : EIA0 43048 42938 33754860 33838117 520 100Mb
2-SEP-2025 20:41:13.05 : 1.05 : EIA0 50686 50676 39744966 39940943 607 100Mb
2-SEP-2025 20:41:14.10 : 1.04 : EIA0 48012 48075 37647486 37887323 581 100Mb
2-SEP-2025 20:41:15.14 : 1.07 : EIA0 41587 41430 32609541 32654106 488 100Mb
2-SEP-2025 20:41:16.21 : 1.04 : EIA0 48867 48895 38316819 38535071 591 100Mb
2-SEP-2025 20:41:17.25 : 1.04 : EIA0 47474 47529 37224232 37456893 574 100Mb
2-SEP-2025 20:41:18.29 : 1.04 : EIA0 47724 47825 37423706 37692710 578 100Mb
2-SEP-2025 20:41:19.33 : 1.04 : EIA0 44751 44649 35090589 35190780 541 100Mb
2-SEP-2025 20:41:20.37 : 1.04 : EIA0 52123 52164 40870083 41110652 631 100Mb
2-SEP-2025 20:41:21.41 : 1.04 : EIA0 47909 47910 37567509 37757980 579 100Mb
2-SEP-2025 20:41:22.45 : 1.04 : EIA0 50148 50100 39320688 39487034 606 100Mb
2-SEP-2025 20:41:23.49 : 1.04 : EIA0 48522 48497 38048964 38221871 587 100Mb
2-SEP-2025 20:41:24.53 : 1.04 : EIA0 46977 47134 36835885 37147010 569 100Mb
2-SEP-2025 20:41:25.57 : 1.04 : EIA0 39295 38240 30812147 30137900 469 100Mb
2-SEP-2025 20:41:26.61 : 1.04 : EIA0 49921 50948 39144349 40153828 610 100Mb
2-SEP-2025 20:41:27.65 : 1.04 : EIA0 53779 53741 42168825 42354491 650 100Mb
2-SEP-2025 20:41:28.69 : 1.04 : EIA0 46636 46008 36569042 36257854 560 100Mb
2-SEP-2025 20:41:29.73 : 1.04 : EIA0 51943 52544 40727431 41411240 632 100MbNote that the dump time was 20:41:32.22 and the bandwidth data
stopped at 20:41:30.77, so we can see the activity on EIA just before
the crash.
5. Impact on Performance
Collecting this data involves 26–35 MACRO-32 instructions per second. It is very difficult to measure any performance impact due to the impossibility of replicating the exact environmental conditions. For example, any interrupt mitigation differences between tests overwhelms any measurement of the bandwidth monitoring overhead.
If you are concerned about the overhead, you can disable this function with the following command:
LANCP> SET DEVICE/NOBANDWIDTH/ALL
6. S2 Space Considerations
By default, the amount of S2 space available to the pool allocation routines is relatively small.
The maximum size bandwidth buffer is 7 MB per LAN device (using the
LAN_FLAGS system parameter), or approaching 1 GB per LAN
device using the LANCP SET DEVICE/BANDWIDTH command. Increase the S2
size as needed.
$RUN SYS$SYSTEM:SYSGEN.EXESYSGEN> SHOW NPAGE Parameter Name Current Default Min. Max. Unit Dynamic -------------- ------- ------- ------- ------- ---- ------- NPAGEDYN 99999744 4194304 163840 1879048192 Bytes NPAGEVIR 399998976 16777216 163840 1879048192 Bytes NPAGECALC 0 1 0 2 Coded-valu NPAGERAD 0 0 0 -1 BytesNPAGEDYN_S2 5 2 2 1024 MbytesNPAGEXPVIR_S2 7 4 4 2048 Mbytes
The above example shows NPAGEXPVIR_S2 currently at 7 Mbytes,
which will need to be increased to support multiple NICs and bandwidth buffers larger
than the default size.
Refer to the relevant section in the VSI OpenVMS Performance Management Manual for general nonpaged pool recommendations and guidelines.
7. Further Data Analysis
To do your own analysis of the data, write a program to read the binary dump file. The dump file is a 32-byte header entry followed by a number of bandwidth entries:
The bandwidth header has the following structure:
+---------------------------------------------+ | Length of bw data (excluding header) | 0 +---------------------------------------------+ | Threshold value | 4 +---------------------------------------------+ | | 8 +-- Final entry time --+ | | +---------------------------------------------+ | | 16 +-- Monitoring start time --+ | | +---------------------------------------------+ | | 24 +-- Oldest entry time --+ | | +---------------------------------------------+
A bandwidth entry has the following structure:
+---------------------------------------------+ | | 0 +-- Entry start time (EXE$GQ_SYSTIME) --+ | | +---------------------------------------------+ | Packets sent | 8 +---------------------------------------------+ | Packets received | 12 +---------------------------------------------+ | | 16 +-- Bytes sent --+ | | +---------------------------------------------+ | | 24 +-- Bytes received --+ | | +---------------------------------------------+