Befehl "mkclass"
Zweck
Erstellt eine Workload-Management-Klasse.
Syntax
mkclass [ -a Attribut=Wert ... ] [ -c | -m | -b | -v | -C | -B | -P | -T | -V | -L | -A Schlüsselwort=Wert ] [ -d Konfigurationsverzeichnis ] [ -S Superklasse ] Name
Beschreibung
Der Befehl mkclass erstellt eine Oberklasse oder eine Unterklasse, die mit dem Parameter Name angegeben wird.
Die Klasse darf noch nicht vorhanden sein.
Der Parameter Name darf nur Groß- und Kleinbuchstaben, Zahlen und Unterstreichungszeichen enthalten.
Der Name hat das Format Supername oder Subname (Flag -S Supername) oder Supername.Subname.
Die Parameter Supername und Subname sind jeweils auf 16 Zeichen beschränkt.
Die Namen Default, System und Shared sind reserviert.
Sie beziehen sich auf vordefinierte Klassen.
Jedes Argument Attribut=Wert oder Schlüsselwort=Wert initialisiert den angegebenen Attribut-
oder Ressourcengrenzwert.
Weitere Informationen finden Sie im Abschnitt Attribute.
Verwenden Sie zum Festlegen der Gesamtgrenzwerte für Prozesse (die Grenzwerte, die für jeden Prozess der Klasse gelten) eine
oder mehrere der Optionen -C (totalCPU), -B (totalDiskIO), -A (totalConnectTime) oder -v
(totalVirtualMemoryLimit) mit dem Schlüsselwortwert hardmax. Verwenden Sie zum Festlegen
der Gesamtgrenzwerte für Klassen (Grenzwerte, die für die gesamte Klasse gelten) eine oder mehrere
der Optionen -P (totalProcesses), -T (totalThreads), -L (totalLogins) oder
-V (totalVirtualMemoryLimit) mit dem Schlüsselwortwert hardmax. Verwenden
Sie zum Zurücksetzen eines Gesamtgrenzwerts ein Minuszeichen (-) für Wert.
Die Gesamtgrenzwerte für Prozesse und/oder Klassen können beim Starten oder Aktualisieren von WLM
inaktiviert werden (siehe den Befehl wlmcntrl).
Normalerweise fügt mkclass die Klasse und deren Attribute in den entsprechenden WLM-Eigenschaftendateien hinzu und die Änderungen werden erst nach einer Aktualisierung von WLM mit dem Befehl wlmcntrl auf die kerninternen Klassendefinitionen (aktive Klassen) angewendet.
Wenn mit dem Flag -d eine leere Zeichenfolge als Konfigurationsname (Konfigurationsverzeichnis) übergeben wird, wird die Klasse nur in den kerninternen WLM-Datenstrukturen erstellt. Es wird keine Eigenschaftendatei aktualisiert, d. h., die neue Klasse ist temporär (die Änderung geht verloren, wenn WLM gestoppt und neu gestartet oder wenn das System neu gestartet wird).
Attribute
Die folgenden Attribute können geändert werden:
Klasseneigenschaften:
| Element | Beschreibung |
|---|---|
| tier | Gibt den tier-Wert an. Der tier-Wert für eine Klasse ist die Position der Klasse in der Hierarchie der gewünschten Ressourcenbegrenzung für alle Klassen. Eine Klasse mit einem niedrigeren tier-Wert wird bevorzugt. Die gültigen tier-Werte sind 0 bis 9 (der Standardwert ist 0). |
| inheritance | Wenn das Attribut inheritance auf yes gesetzt ist, bleiben die untergeordneten Prozesse von Prozessen bei exec in der Klasse, unabhängig davon, welche automatischen Zuweisungsregeln wirksam sind. Wenn das Attribut inheritance auf no gesetzt ist, werden die Zuweisungsregeln normal angewendet. Wenn das Attribut nicht angegeben ist, wird standardmäßig no verwendet. |
| localshm | Gibt an, ob Speichersegmente, auf die Prozesse in verschiedenen Klassen zugreifen, lokal in der Klasse lokal bleiben, der sie ursprünglich zugewiesen waren, oder ob sie in die Klasse Shared übernommen werden. Sie können den Wert Yes oder No angeben. Wenn Sie keinen Wert angeben, wird standardmäßig No verwendet. |
| authuser | Gibt den Benutzernamen des Benutzers an, der dieser Klasse Prozesse zuweisen darf. Wenn das Attribut nicht angegeben ist, wird standardmäßig root verwendet. |
| authgroup | Gibt den Gruppennamen der Benutzergruppe an, die dieser Klasse Prozesse zuweisen darf. Es gibt keinen Standardwert. |
| rset | Gibt den Namen einer Ressourcengruppe an, auf die Prozesse in der Klasse zugreifen können. Standardmäßig hat die Klasse Zugriff auf alle Ressourcen im System. |
| vmenforce | Gibt an, ob alle Prozesse oder nur die problematischen Prozesse in der Klasse beendet werden müssen, wenn die Klasse den maximalen VM-Grenzwert erreicht. Sie können den Wert class oder proc angeben. Der Standardwert ist proc. |
| delshm | Gibt an, ob die gemeinsam genutzten Segmente gelöscht werden, wenn der letzte Prozess, der auf sie verweist, beendet wird, weil der virtuelle Speicher erschöpft ist. Sie können den Wert yes oder no angeben. Der Standardwert ist no. |
| adminuser | Gibt den Benutzernamen des Benutzers an, der die Unterklassen dieser Superklasse verwalten darf.
Dieses Attribut ist nur für Superklassen gültig.
Wenn das Attribut nicht angegeben ist, wird standardmäßig eine Nullzeichenfolge verwendet, und in diesem Fall können nur Rootbenutzer
die Unterklassen verwalten.
Anmerkung: Wenn das Attribut adminuser oder admingroup für eine Superklasse geändert wird, die zur aktiven Konfiguration (oder
zu einer Konfiguration der aktiven Gruppe) gehört, muss eine globale WLM-Aktualisierung durchgeführt werden, um diese Änderungen
in die kerninterne Konfiguration zu übernehmen. An anderer Stelle schlagen Aktualisierungen durch einen solchen Benutzer, die auf die Superklasse
beschränkt sind, aufgrund fehlender Berechtigungen fehl.
|
| admingroup | Gibt den Gruppennamen der Benutzergruppe an, die die Unterklassen dieser Superklasse verwalten darf.
Dieses Attribut ist nur für Superklassen gültig.
Wenn das Attribut nicht angegeben ist, wird standardmäßig eine Nullzeichenfolge verwendet, d. h., dass keine keine Gruppe die Unterklassen verwalten kann.
Anmerkung: Wenn das Attribut adminuser oder admingroup für eine Superklasse geändert wird, die zur aktiven Konfiguration (oder
zu einer Konfiguration der aktiven Gruppe) gehört, muss eine globale WLM-Aktualisierung durchgeführt werden, um diese Änderungen
in die kerninterne Konfiguration zu übernehmen. An anderer Stelle schlagen Aktualisierungen durch einen solchen Benutzer, die auf die Superklasse
beschränkt sind, aufgrund fehlender Berechtigungen fehl.
|
Klassengrenzwerte und -anteile für CPU-, Arbeitsspeicher- und Platten-E/A-Ressourcen:
| Element | Beschreibung |
|---|---|
| min | Gibt den minimalen Prozentsatz der Ressource, der auf Anforderung verfügbar sein muss, als Prozentsatz der insgesamt im System verfügbaren Ressource an. Die gültigen Werte sind 0 bis 100 (der Standardwert ist 0). |
| shares | Gibt das maximalen Verhältnis der Ressource an, das zur Verfügung gestellt werden kann, wenn keine Konkurrenzsituation vorliegt. Dieser Parameter wird in Anteilen der insgesamt im System verfügbaren Ressource angegeben. Das tatsächliche Verhältnis der Ressource wird proportional zu den Anteilen aller aktiven Klassen dynamisch berechnet. Wenn eine Klasse keinen aktiven Prozess hat, werden ihre Anteile von der Berechnung ausgeschlossen. Die Anteile sind beliebige Zahlen zwischen 1 und 65535. Wenn Sie für "shares" ein Minuszeichen (-) angeben, wird die Klasse immer als im Soll betrachtet und ihre Verwendung für diese Ressource wird nicht von WLM reguliert, aber die Mindest- und Höchstgrenzen, sofern vorhanden, gelten weiterhin. Dies ist die Standardeinstellung, wenn die Anteile für eine Ressource nicht angegeben sind. |
| softmax | Gibt den maximalen Prozentsatz der Ressource an, der verfügbar gemacht werden kann, wenn eine Konkurrenzsituation vorliegt. Die gültigen Werte sind 1 bis 100 (der Standardwert ist 100). Eine Klasse kann ihr variables Maximum für eine bestimmte Ressource überschreiten, wenn es keine Konkurrenzsituation um die Ressource gibt. |
| hardmax | Gibt den maximalen Prozentsatz der Ressource an, der verfügbar gemacht werden kann, auch wenn keine Konkurrenzsituation vorliegt. Die gültigen Werte sind 1 bis 100 (der Standardwert ist 100). Wenn Sie einen anderen als den Standardwert 100 für den Speicher angeben, kann dies dazu führen, dass einige Speicherseiten ungenutzt bleiben, während einige Prozesse in der Klasse mehr nutzen. |
| max | Gibt den maximalen Prozentsatz der Ressource an, der verfügbar gemacht werden kann, auch wenn keine Konkurrenzsituation vorliegt. Die gültigen Werte sind 1 bis 100 (der Standardwert ist 100). Wenn Sie einen anderen als den Standardwert 100 für den Speicher angeben, kann dies dazu führen, dass einige Speicherseiten ungenutzt bleiben, während einige Prozesse in der Klasse mehr nutzen. |
Anmerkung: Die Standardwerte für eine Klasse können mit dem Befehl lsclass -D gelesen und durch manuelle Bearbeitung der Eigenschaftsdatei classes, shares oder limits zum Hinzufügen einer Standardzeilengruppe geändert werden. Weitere Informationen zu diesen Dateien finden Sie in der Veröffentlichung Files Reference.
Klassenbeschreibung:
| Element | Beschreibung |
|---|---|
| description | Die Klassenbeschreibungstext kann aus beliebigen ASCII-Zeichen mit Ausnahme von Doppelpunkten (:) und Kommas (,) bestehen. |
Flags
| Element | Beschreibung |
|---|---|
| -A hardmax=Wert | Legt fest, wie lange eine Anmeldesitzung in der Klasse maximal aktiv bleiben kann. Der Wert wird als ganze Zahl mit einer optionalen Einheit (s für Sekunden (Standard), m für Minuten, h für Stunden, d für Tage und w für Wochen) angegeben. Wenn sich ein Benutzer diesem Verbindungszeitlimit nähert, sendet WLM eine Warnung an das Sitzungsterminal. Beim Erreichen des Zeitlimits wird der Benutzer benachrichtigt und das Signal SIGTERM an den Sitzungsleader gesendet. Nach einer kurzen Karenzzeit wird die Sitzung beendet (SIGKILL). |
| -B hardmax=Wert | Legt die insgesamt zulässigen Platten-E/As für jeden Prozess in der Klasse fest. Der Wert wird als ganze Zahl mit einer optionalen Einheit (KB für Kilobyte (Standard), MB für Megabyte, TB für Terabyte, PB für Petabyte und EB für Exabyte) angegeben. Nachdem ein Prozess diese Platten-E/As verwendet hat, wird ein Signal SIGTERM an den Prozess gesendet. Nach einer kurzen Karenzzeit wird der Prozess beendet (SIGKILL). |
| -C hardmax=Wert | Legt die insgesamt zulässige CPU-Zeit für jeden Prozess in der Klasse fest. Der Wert wird als ganze Zahl mit einer optionalen Einheit (s für Sekunden (Standard), m für Minuten, h für Stunden, d für Tage und w für Wochen) angegeben. Nachdem ein Prozess diese Zeit verwendet hat, wird das Signal SIGTERM an den Prozess gesendet. Nach einer kurzen Karenzzeit wird er beendet (SIGKILL). |
| -d Konfigurationsverzeichnis | Verwenden Sie /etc/wlm/Konfigurationsverzeichnis als alternatives Verzeichnis für die Eigenschaftendateien. Wenn dieses Flag nicht verwendet wird, verwendet mkclass die Konfigurationsdateien in dem Verzeichnis, auf das /etc/wlm/current verweist. Wenn eine leere Zeichenfolge als Konfigurationsname übergeben wird (-d ""), wird die neue Klasse nur in den kerninternen WLM-Datenstrukturen erstellt und es wird keine Konfigurationsdatei geändert. |
| -L hardmax=Wert | Legt die Gesamtzahl der Anmeldesitzungen fest, die gleichzeitig in der Klasse verfügbar sind. Wenn ein Benutzer versucht, sich am System anzumelden, und die Anmeldeshell dazu führen würde, dass eine Klasse den Gesamtgrenzwert für Anmeldungen erreicht, schlägt die Anmeldeoperation fehl. |
| -P hardmax=Wert | Legt die maximal zulässige Anzahl von Prozessen in der Klasse fest. Wenn eine Operation dazu führen würde, dass ein neuer Prozess in die Klasse aufgenommen wird, und die Klasse bereits diese Anzahl von Prozessen enthält, schlägt die Operation fehl. |
| -S Superklasse | Gibt den Namen der Superklasse beim Erstellen einer Unterklasse an.
Es gibt zwei Möglichkeiten, die Unterklasse Sub der Superklasse Super zu erstellen:
|
| -T hardmax=Wert | Legt die maximal zulässige Anzahl von Threads in der Klasse fest. Wenn eine Operation dazu führen würde, dass ein neuer Thread in die Klasse aufgenommen wird, und die Klasse bereits diese Anzahl von Prozessen enthält, schlägt die Operation fehl. Der Gesamtgrenzwert für Threads muss mindestens so groß sein wie der Gesamtgrenzwert für Prozesse einer Klasse. Wenn eine Klasse einen definierten Gesamtgrenzwert für Threads, aber keinen definierten Gesamtgrenzwert für Prozesse hat, wird der Gesamtgrenzwert für Prozesse auf den Gesamtgrenzwert für Threads gesetzt. |
| -v hardmax=Wert | Gibt den maximal zulässigen virtuellen Speicher pro Prozess in der angegebenen Klasse an. Der maximal zulässige virtuelle Speicher pro Prozess ist (2^31)-1 für 32-Bit-Kernel und (2^63)-1 für 64-Bit-Kernel. |
| -V hardmax=Wert | Gibt den zulässigen virtuellen Speicher für die angegebene Klasse an. Der maximal zulässige virtuelle Speicher pro Prozess ist (2^31)-1 für 32-Bit-Kernel und (2^63)-1 für 64-Bit-Kernel. |
Sicherheit
Zugriffssteuerung: Dieser Befehl kann nur vom Rootbenutzer ausgeführt werden. Eine Unterklasse dieser Superklasse kann nur vom Rootbenutzer und von autorisierten Benutzern, deren Benutzer-ID oder Gruppen-ID mit den in den Attributen adminuser und admingroup der Superklasse angegebenen Benutzernamen oder Gruppennamen übereinstimmt, erstellt werden.
Dateien
| Element | Beschreibung |
|---|---|
| classes | Enthält die Namen und Definitionen der Klassen. |
| limits | Enthält die Ressourcengrenzwerte für jede Klasse. |
| shares | Enthält die jeder Klasse zugewiesenen Ressourcenanteile. |