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).

Anmerkung: Dieser Befehl kann nicht auf eine Gruppe zeitbasierter Konfigurationen angewendet werden (geben Sie mit dem Flag -d keine Gruppe an). Wenn die aktuelle Konfiguration eine Gruppe ist, muss das Flag -d angegeben werden, um die reguläre Konfiguration anzugeben, auf die der Befehl angewendet werden soll.

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.
Anmerkung: Dieser Befehl wird nicht unterstützt, wenn er in einer Workloadpartition ausgeführt wird.

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:
  1. Geben Sie den vollständigen Namen der Unterklasse als Super.Sub für Name an und verwenden Sie -S nicht.
  2. Geben Sie das Flag -S an, um den Namen der Superklasse anzugeben, und verwenden Sie den Kurznamen für die Unterklasse:
    mkclass options -S Super  Sub
-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.

Hinweis für Benutzer von RBAC und Trusted AIX: Dieser Befehl kann privilegierte Operation ausführen. Privilegierte Operation dürfen nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen zu Autorisierungen und Berechtigungen finden Sie in der Beschreibung der Privileged Command Database in der Veröffentlichung Security. Eine Liste der Berechtigungen und Autorisierungen, die diesem Befehl zugeordnet sind, finden in der Beschreibung des Befehls lssecattr bzw. der des Unterbefehls getcmdattr.

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.