Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Kapitel 9 Verwalten des Fair Share Scheduler (Vorgehen)

In diesem Kapitel wird die Verwendung des Fair Share Scheduler (FSS) beschrieben.

Eine Einführung zum FSS finden Sie in Kapitel 8Einführung in den Fair Share Scheduler. Weitere Informationen zu Scheduling-Klassen bei installierten Zonen finden Sie unter Scheduling-Klasse in einer Zone.

Verwalten des Fair Share Scheduler (Übersicht der Schritte)

Aufgabe 

Beschreibung 

Weitere Informationen 

Überwachen der CPU-Nutzung. 

Überwachen der CPU-Nutzung durch Projekte und Projekten in Prozessorsets. 

Überwachen des FSS

Festlegen der standardmäßigen Scheduler-Klasse. 

Festlegen eines Schedulers wie z. B. FSS als standardmäßigen Scheduler für das System. 

So legen Sie FSS als standardmäßige Scheduling-Klasse fest

Verschieben von laufenden Prozessen aus einer Scheduling-Klasse in eine andere Scheduling-Klasse, z. B. in die FSS-Klasse. 

Manuelles Verschieben von Prozessen aus einer Scheduling-Klasse in eine andere Scheduling-Klasse, ohne dabei die standardmäßige Scheduler-Klasse zu ändern oder das System neu zu booten. 

So verschieben Sie manuelle Prozesse aus der TS-Klasse in die FSS-Klasse

Verschieben aller laufenden Prozesse aus allen Scheduling-Klassen in eine andere Scheduling-Klasse, z. B. in die FSS-Klasse. 

Manuelles Verschieben von Prozessen aus allen Scheduling-Klassen in eine andere Scheduling-Klasse, ohne dabei die standardmäßige Scheduling-Klasse zu ändern oder das System neu zu booten. 

So verschieben Sie Prozesse manuell aus allen Benutzerklassen in die FSS-Klasse

Verschieben der Prozesse eines Projekts in eine andere Scheduling-Klasse, z. B. in die FSS-Klasse. 

Manuelles Verschieben der Prozesse eines Projekts aus der aktuellen Scheduling-Klasse in eine andere Scheduling-Klasse. 

So verschieben Sie die Prozesse eines Projekts manuell in die FSS-Klasse

Untersuchen und Einstellen der FSS-Parameter. 

Einstellen des Quantum-Zeitwerts des Schedulers. Zeit-Quantum ist die Zeit, die ein Thread ausgeführt werden darf, bevor er die Kontrolle über den Prozessor abgeben muss.

So stellen Sie die Scheduler-Parameter ein

Überwachen des FSS

Mit dem in der Manpage prstat(1M) ausführlich beschriebenen Befehl prstat können Sie die CPU-Nutzung durch aktive Projekte überwachen.

Sie können die Extended Accounting-Daten für Aufgaben verwenden, um Statistiken der einzelnen Projekte zum Betrag der CPU-Ressourcen zu beziehen, die über einen längeren Zeitraum verbraucht werden. Weitere Informationen finden Sie in Kapitel 4Einführung in das Extended Accounting.

ProcedureSo überwachen Sie die CPU-Nutzung durch Projekte

  1. Zum Überwachen der CPU-Nutzung durch die auf einem System ausgeführten Projekte verwenden Sie den Befehl prstat mit der Option -J.


    % prstat -J
    

ProcedureSo überwachen Sie die CPU-Nutzung durch Projekte in Prozessorsets

  1. Zum Überwachen der CPU-Nutzung durch Projekte in einer Liste von Prozessorsets geben Sie Folgendes ein:


    % prstat -J -C pset-list
    

    dabei steht pset-list für eine Liste der durch Kommata getrennten Prozessorset-IDs.

Konfigurieren des FSS

Die gleichen Befehle, die Sie für andere Scheduling-Klasse im Solaris-System verwenden, können auch für den FSS eingesetzt werden. Sie können die Scheduler-Klasse festlegen, die Parameter des Scheduler konfigurieren und die Eigenschaften bestimmter Prozesse einstellen.

Zum Neustarten des Scheduler-Service geben Sie den Befehl svcadm restart ein. Weitere Informationen finden Sie unter svcadm(1M).

ProcedureSo legen Sie FSS als standardmäßige Scheduling-Klasse fest

Der FSS muss als standardmäßiger Scheduler auf dem System eingerichtet sein, damit die Zuweisung von CPU-Shares wirksam ist.

Mit einer Kombination der Befehle priocntl und dispadmin stellen Sie sicher, dass der FSS unmittelbar und auch nach einem Neustart der standardmäßige Scheduler wird.

  1. Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Legen Sie FSS als standardmäßigen Scheduler für das System fest.


    # dispadmin -d FSS
    

    Diese Änderung wirkt sich nach dem nächsten Neustart aus. Nach dem Neustart wird jeder Prozess auf dem System in der FSS-Scheduling-Klasse ausgeführt.

  3. Die folgende Konfiguration wird unmittelbar und ohne einen Neustart wirksam.


    # priocntl -s -c FSS -i all
    

ProcedureSo verschieben Sie manuelle Prozesse aus der TS-Klasse in die FSS-Klasse

Sie können Prozesse manuell aus einer Scheduling-Klasse in eine andere Scheduling-Klasse verschieben, ohne die standardmäßige Scheduling-Klasse zu ändern oder das System neu zu booten. Dieses Verfahren zeigt, wie Sie Prozesse manuell aus der TS-Scheduling-Klasse in die FSS-Scheduling-Klasse verschieben.

  1. Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Verschieben Sie den init-Prozess (pid 1) in die FSS-Scheduling-Klasse.


    # priocntl -s -c FSS -i pid 1
    
  3. Verschieben Sie alle Prozesse aus der TS-Scheduling-Klasse in die FSS-Scheduling-Klasse.


    # priocntl -s -c FSS -i class TS
    

    Hinweis –

    Nach dem Neustart werden alle Prozesse wieder in der TS-Scheduling-Klasse ausgeführt.


ProcedureSo verschieben Sie Prozesse manuell aus allen Benutzerklassen in die FSS-Klasse

Eventuell verwenden Sie eine andere Standard-Klasse als die TS-Scheduling-Klasse. Vielleicht wird das System in einer Fensterumgebung ausgeführt, die standardmäßig die IA-Klasse verwendet. Sie können alle Prozesse manuell in die FSS-Scheduling-Klasse verschieben, ohne die standardmäßige Scheduling-Klasse zu ändern oder das System neu zu booten.

  1. Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Verschieben Sie den init-Prozess (pid 1) in die FSS-Scheduling-Klasse.


    # priocntl -s -c FSS -i pid 1
    
  3. Verschieben Sie alle Prozesse aus den aktuellen Scheduling-Klassen in die FSS-Scheduling-Klasse.


    # priocntl -s -c FSS -i all
    

    Hinweis –

    Nach dem Neustart werden alle Prozesse wieder in der standardmäßigen Scheduling-Klasse ausgeführt.


ProcedureSo verschieben Sie die Prozesse eines Projekts manuell in die FSS-Klasse

Sie können die Prozesse eines Projekts manuell aus der aktuellen Scheduling-Klasse in die FSS-Scheduling-Klasse verschieben.

  1. Melden Sie sich als Superuser an oder nehmen Sie eine entsprechende Rolle an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Verschieben Sie Prozesse, die in der Projekt-ID 10 ausgeführt werden, in die FSS-Scheduling-Klasse.


    # priocntl -s -c FSS -i projid 10
    

    Nach dem Neustart werden die Prozesse des Projekts wieder in der standardmäßigen Scheduling-Klasse ausgeführt.

So stellen Sie die Scheduler-Parameter ein

Mit dem Befehl dispadmin können Sie die Parameter eines Prozess-Schedulers bei laufendem System anzeigen oder ändern. Beispielsweise können Sie den Befehl dispadmin eingeben, um den Zeit-Quantumwert des FSS-Schedulers zu prüfen und einzustellen. Zeit-Quantum ist die Zeit, die ein Thread ausgeführt werden darf, bevor er die Kontrolle über den Prozessor abgeben muss.

Zum Anzeigen des aktuellen Zeit-Quantums für den FSS-Scheduler bei laufendem System geben Sie Folgendes ein:


$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

Wenn Sie die Option -g verwenden, können Sie auch die Option -r angeben, um die Auflösung festzulegen, die beim Drucken der Zeit-Quantumswerte verwendet wird. Wenn keine Auflösung angegeben ist, werden die Zeit-Quantumswerte standardmäßig als Millisekunden angezeigt.


$ dispadmin -c FSS -g -r 100
#
# Fair Share Scheduler Configuration
#
RES=100
#
# Time Quantum
#
QUANTUM=11

Zum Einstellen der Scheduling-Parameter der FSS-Scheduling-Klasse geben Sie dispadmin -s ein. Die Werte in Datei müssen in dem Format vorliegen, das von der Option -g ausgegeben wird. Diese Werte überschreiben die aktuellen Werte im Kernel. Geben Sie Folgendes ein:


$ dispadmin -c FSS -s file