Werden Messungen in BS2000-Systemen durchgeführt, die unter VM2000-Steuerung ablaufen, so sind die nachfolgenden Besonderheiten beim SM2-Einsatz und bei der Interpretation der Messwerte zu beachten. SM2 ist generell in jedem Gastsystem ablauffähig und liefert Messwerte bezogen auf das jeweilige lokale Gastsystem.
Hinweise zu den CPU-Auslastungswerten
Der Summenwert TU + TPR + SIH + IDLE wird in jedem Gastsystem auf 100% relativiert. Dies gilt für
SM2 im ACTIVITY-, PERIODIC TASK- und CPU-Report (Spalte NORMED)
SM2R1 in der Reportgruppe CPU (Report 1)
openSM2 Manager in den Reports TotalTime und NORM der Reportgruppe CPU-Total, Reports TUTime[%], TPRTime[%], SIHTime[%] und IdleTime[%] der Reportgruppe CPU und Reports JobCPUTime[%], TSNCPUTime[%] und UIDCPUTime[%] der Reportgruppe PERIODIC-TASK
Durch diese Relativierung ergibt die manuelle Summenbildung der prozentualen Auslastungswerte für alle Gastsysteme nicht die CPU-Gesamtauslastung.
Die nicht relativierten Werte für TU, TPR, SIH und IDLE, d.h. die vom jeweiligen Gastsystem ermittelten echten Auslastungswerte werden ausgegeben in
SM2 im CPU-Report (Spalte REAL)
SM2R1 in den Reportgruppen CPU (Report 2) sowie PERIODIC-TASK-JOBNAME (Report 161), PERIODIC-TASK-TSN (Report 153) und PERIODIC-TASK-USERID (Report 157)
openSM2 Manager in den Reports TotalTimeReal und REAL der Reportgruppe CPU-Total sowie den Reports TUTimeReal[%], TPRTimeReal[%], SIHTimeReal[%] und IdleTimeReal[%] der Reportgruppe CPU
Der Zusammenhang zwischen den Daten im CPU-Report (Spalte REAL), den Daten im VM-Report (CPU MEAS) und den Daten im PERIODIC TASK-Report (CPU%) wird weiter unten näher erläutert.
Des weiteren werden nicht relativierte Werte für TU + TPR kategoriespezifisch ausgegeben in
SM2 im CATEGORY-Report
SM2R1 in der Reportgruppe CATEGORY-CPU (Report 62)
openSM2 Manager im Report CPUTime[%] der Reportgruppe CATEGORY
Ebenso beruht das Zeitäquivalent der CPU-Zeit pro Kategorie auf nicht relativierten Zeiten in SM2R1 in der Reportgruppe RST (Report 60).
Die in der Task-Statistik von SM2R1 ausgewiesene CPU-Zeit ist ebenfalls die echte von einer Task aufgenommene CPU-Zeit in den Funktionszuständen TU + TPR.
Ein Überblick über die CPU-Gesamtauslastung, die Aufteilung der CPU-Kapazität auf die einzelnen Gastsysteme und den CPU-Verbrauch der einzelnen Gastsysteme ist im SM2 ersichtlich, der auf der Monitor-VM zum Ablauf kommt.
Läuft SM2 im „normalen“ Gastsystem, so werden im SM2 nur die Werte des eigenen Gastsystems, des eigenen CPU-Pools und der eigenen VM-Gruppe ausgegeben.
Zur Genauigkeit der TU- bzw. TPR-Anteile siehe Abschnitt „Nähere Betrachtung relevanter Messgrößen".
Zusammenhang zwischen VM-, CPU- und PERIODIC TASK-Report
VM-Report
HOST0001 SM2 VM CYCLE: 60 S <date> <time> HYPERVISOR: IDLE: 15.3% ACTIVE: 7.2% MEAS: 77.5% # USABLE CPUS: 3 -----+----------+----------+----------+-+--------+-----------------------+----- IND | NAME | VM-GROUP | CPU-POOL |I| MEMORY | CPU (%) | # | | | | | (MB) | MAX PLAN MEAS | CPUS -----+----------+----------+----------+-+--------+-------+-------+-------+----- 2 | HOST0001 | | *STDPOOL | | 3840 | 66 | 40 | 41.0 | 2 -----+----------+----------+----------+-+--------+-------+-------+-------+-----
# USABLE CPUS ist die Anzahl der realen, für BS2000-Gastsysteme verfügbaren CPUs (auch Extra-CPUs). Diese kann kleiner sein als die Anzahl der vorhandenen realen CPUs.
CPU MEAS (%) ist der Anteil der VM an der Leistung, die durch die momentan verfügbaren CPUs gegeben ist:
CPU MEAS (%) = (CPU time * 100) / (CYCLE * # USABLE CPUS)
Dabei ist CPU time die gesamte gemessene CPU-Zeit der VM und CYCLE die Länge des SM2-Messintervalls.
CPU PLAN (%) bezieht sich ebenfalls auf die momentan verfügbare Serverleistung.
/390-Server
Die Summe aus der Aktiv-Zeit des Hypervisors und den Anteilen aller VMs ergibt die Gesamtauslastung des Servers:
CPU total (%) = HYPERVISOR ACTIVE (%) + Summe CPU MEAS (%)
bzw.
CPU total (%) + HYPERVISOR IDLE (%) = 100 %
x86-Server
Die Summe aus der Aktiv-Zeit der Domäne DOM0 (kann dem VM CPU POOL-Report entnommen werden) und den Anteilen aller VMs ergibt die Gesamtauslastung des Servers:
CPU total (%) = CPU (%) von CPU Pool *POOL0 + Summe CPU MEAS (%)
CPU-Report
HOST0001 SM2 CPU CYCLE: 60 S <date> <time> | NORMED TO 100 % | | REAL -----+------+------+------+------+------+------+------+------+------- LM | TU % | TPR %| SIH %|IDLE %|STOP %| TU % | TPR %| SIH %|IDLE % -----+------+------+------+------+------+------+------+------+------- AVG | 8.4 | 26.5 | 26.3 | 38.6 | 0.0 | 8.2 | 26.0 | 25.8 | 37.8 -----+------+------+------+------+------+------+------+------+------- 1 | 9.9 | 25.1 | 26.1 | 38.7 | 0.0 | 9.7 | 24.6 | 25.6 | 38.0 2 | 0.0 | 0.0 | 0.0 | 0.0 |100.0 | 0.0 | 0.0 | 0.0 | 0.0 3 | 6.9 | 27.9 | 26.5 | 38.4 | 0.0 | 6.8 | 27.4 | 26.0 | 37.7 -----+------+------+------+------+------+------+------+------+-------
Die reale CPU-Auslastung bezieht sich auf die Anzahl der momentan aktiven, virtuellen CPUs der VM.
TU% + TPR% + SIH% = (CPU time * 100) / (CYCLE * # CPUS)
Daraus ergibt sich folgender Zusammenhang mit CPU MEAS (%) aus dem VM-Report:
CPU MEAS (%) = (TU% + TPR% + SIH%) * # CPUS / # USABLE CPUS
Zwischen den genormten und realen CPU-Zeiten im CPU-Report besteht folgender Zusammenhang:
TU normed % = (TU% * 100) / (TU% + TPR% + SIH% + IDLE%)
Analog für TPR normed % und SIH normed %.
PERIODIC TASK-Report
HOST0001 SM2 PERIODIC TASK (S-U) CYCLE: 60 S <date> <time> TU + TPR= 35.0 % SIH= 26.4 % IDLE= 38.6 % IO(1/S)= 3724.1 ( 2 LM'S) TSN | USER-ID | JOBNAME |T|SERV-RATE| CPU% | IO(1/S)| UPG |PAG RD| CRYPT -----+----------+----------+-+---------+------+--------+--------+------+------- BCAM | | |S| 28898.1 | 0.2 | 3424.3 | 392 | 0.0 | 0.0 4H5N | UID | JOB1 |B| 18085.9 | 10.4 | 142.9 | 206 | 0.0 | 0.0 4HZF | TSOS | PALL301N |B| 13351.9 | 3.8 | 4.1 | 2767 | 0.0 | 0.0 BCA0 | | |S| 10240.1 | 7.6 | 0.0 | 6 | 0.0 | 0.0 4IB1 | UID2 | E |D| 8629.4 | 5.0 | 98.8 | 2053 | 0.0 | 0.0 DM | | |S| 3208.2 | 2.3 | 11.4 | 23 | 0.0 | 0.0 4H1Y | TSOS | SHCUSERT |T| 1337.1 | 0.9 | 6.2 | 83 | 0.0 | 0.0 4H1X | TSOS | SHCUSERT |T| 1238.0 | 0.8 | 5.7 | 83 | 0.0 | 0.0 3RFE | UID | JOB2 |B| 941.3 | 0.5 | 0.0 | 3791 | 0.0 | 0.0 SM2G | | |S| 792.6 | 0.5 | 0.0 | 794 | 0.0 | 0.0 MSCF | | |S| 540.0 | 0.4 | 0.0 | 18 | 0.0 | 0.0 NSMS | | |S| 400.3 | 0.3 | 0.0 | 30 | 0.0 | 0.0 0HA7 | UID3 | MMNLQX9 |T| 396.9 | 0.2 | 0.0 | 3308 | 0.0 | 0.0 4H0J | UID | JOB1 |D| 338.3 | 0.2 | 0.4 | 1257 | 0.0 | 0.0 4ICU | TSOS | RMF#4ICS |B| 296.3 | 0.1 | 0.4 | 2404 | 0.0 | 0.0
CPU% wird analog der genormten CPU-Zeit im CPU-Report berechnet.
Die Werte aus der Spalte CPU% summiert über alle Tasks ergeben TU + TPR.
Für die CPU-Zeit einer Task gilt
CPU% < 100 / LM'S
wobei LM'S = Anzahl aktive logische Maschinen.
Die Werte für TU + TPR, SIH und IDLE sind normierte Werte, d.h. sie stimmen mit den „NORMED TO 100 %“-Werten im CPU-Report überein:
Aus PERIODIC TASK- und CPU-Report kann man die CPU-Zeit einer Task berechnen:
CPU% real = CPU% * (TU% + TPR% + SIH% + IDLE%) / 100
Nicht relativierte Werte werden ausgegeben in SM2R1 in den Reportgruppen PERIODIC-TASK-JOBNAME (Report 161), PERIODIC-TASK-TSN (Report 153) und PERIODIC-TASK-USERID (Report 157).
Hinweise zu den IDLE-Werten
Der durch den Messmonitor SM2 ausgewiesene IDLE-Wert für ein Gastsystem hat seine ursprüngliche Bedeutung verloren. Er ist lediglich ein Indikator für den prozentualen Anteil eines gegebenen Zeitintervalls, in dem das jeweilige Gastsystem freiwillig untätig war;
z.B. | 2 Gastsysteme VMx, VMy. Jedes Gastsystem möchte 50 s innerhalb eines Zeitintervalls von 100 s tätig sein. |
Idealfall: Es tritt keine Verdrängung auf.
Realistischer Fall: Während der Hälfte der gewünschten Aktiv-Zeit erfolgt eine Verdrängung (***).
Der SM2-Idle-Wert von 33% erklärt sich dadurch, dass SM2 die Aktiv-Zeit (50 s) exakt misst, die freiwillige Inaktiv-Zeit (die durch die Verdrängung auf 25 s reduziert wurde) addiert und auf 100% relativiert.
Die Ausweisung eines IDLE-Wertes durch SM2, obwohl der Server bereits voll ausgelastet ist, hat folgenden Sinn:
Die Vollauslastung des Servers kann durch ein niederpriores Gastsystem mit hoher CPU-Intensität (im Extremfall: CPU-Schleife) verursacht sein, welches immer die Kontrolle erhält, sobald die übrigen Gastsysteme freiwillig auf IDLE gehen.
Der SM2-Idle-Wert soll dem Betreiber eines bevorzugten Gastsystems die Abschätzung ermöglichen, inwieweit noch zusätzliche Last aufgenommen werden kann. In diesem Fall würde das niederpriore Gastsystem entsprechend zurückgedrängt werden.
Beeinflussung von Messwerten durch andere Gastsysteme
Generell gilt: Bei allen SM2-Messwerten, die durch Differenzbildung zweier Zeitwerte gebildet werden, ist immer die Dehnung durch andere Gastsysteme mit enthalten.
Dies sind im Einzelnen die folgenden Messwerte:
alle IO-Zeiten bei den Messprogrammen TASK, SYSTEM, SAMPLING-DEVICE und FILE
Antwortzeiten bei dem Messprogramm RESPONSETIME and BCAM-CONNECTION
Katalogzugriffszeiten beim Messprogramm CMS
QUEUE-Werte in der Task-Statistik
QUEUE-Werte für die Warteschlangen Q1 bis Q13 bei der QUEUE-TRANSITION.
Q0 (CPU-QUEUE) ist ohne Dehnung, da hier der echte CPU-Bedarf aus TU + TPR ausgegeben wird!
Die vom Messprogramm SERVICETIME gelieferten Messwerte (nur auf /390-Servern)
DEVICE DISCONNECT TIME
DEVICE CONNECT TIME
FUNCTION PENDING TIME
sind die echten Hardware-Zeiten (vom DCS ermittelt) ohne Dehnung durch andere Gastsysteme. Die Dehnung der IO-Zeiten kann dem Wert (REMAINING) SERVICETIME entnommen werden.
Alle SM2-Messwerte mit der Einheit „pro Sekunde“ (1/s) beziehen sich auf die Elapsed-Time und nicht auf die einem Gastsystem zugeteilte Zeit. Dadurch werden kleinere Werte ermittelt, als sie tatsächlich zur Aktiv-Zeit des Gastsystems auftreten (z.B. IOs/sec. pro Platte, Paging-Rate).
Das Messprogramm SERVICETIME darf die Erfassung der detaillierten Bedienzeiten des DCS jeweils nur von einem Gastsystem aus starten. Der Versuch, die Funktion von einem zweiten Gastsystem zusätzlich einzuschalten, wird mit einer Warnung beantwortet. Das Messprogramm wird gestartet, aber es werden keine DCS-spezifischen Messwerte geliefert.
Mit dem VM2000-Kommando SHOW-VM-RESOURCES INFORMATION=*STD/*ALL kann geprüft werden, ob die SERVICETIME-Messung bereits in einem Gastsystem aktiv ist. Ist dies der Fall, wird die Meldung VMS2035 ausgegeben.
Für Platten mit Indirekt-IO (VM2000) werden keine DCS-spezifischen Messwerte geliefert.