Mit dem Befehl prctl erstellen Sie Echtzeitabfragen oder Änderungen von Resource Controls, die einem aktiven Prozess, einer Aufgabe oder einem Projekt im System zugeteilt sind. Weitere Informationen finden Sie in der Manpage prctl(1).
Dieses Verfahren muss auf einem System verwendet werden, bei dem keine Resource Controls eingestellt oder geändert wurden. Es können nur nicht standardmäßige Einträge in der Datei /etc/system oder in der project-Datenbank vorliegen.
Verwenden Sie den Befehl prctl an einem beliebigen Prozess, z. B. der aktuell ausgeführten Shell.
# prctl $$
process: 100337: -sh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
process.max-port-events
privileged 65.5K - deny -
system 2.15G max deny -
process.crypto-buffer-limit
system 16.0EB max deny -
process.max-crypto-sessions
system 18.4E max deny -
process.add-crypto-sessions
privileged 100 - deny -
system 18.4E max deny -
process.min-crypto-sessions
privileged 20 - deny -
system 18.4E max deny -
process.max-msg-messages
privileged 8.19K - deny -
system 4.29G max deny -
process.max-msg-qbytes
privileged 64.0KB - deny -
system 16.0EB max deny -
process.max-sem-ops
privileged 512 - deny -
system 2.15G max deny -
process.max-sem-nsems
privileged 512 - deny -
system 32.8K max deny -
process.max-address-space
privileged 16.0EB max deny -
system 16.0EB max deny -
process.max-file-descriptor
basic 256 - deny 100337
privileged 65.5K - deny -
system 2.15G max deny -
process.max-core-size
privileged 8.00EB max deny -
system 8.00EB max deny -
process.max-stack-size
basic 8.00MB - deny 100337
privileged 8.00EB - deny -
system 8.00EB max deny -
process.max-data-size
privileged 16.0EB max deny -
system 16.0EB max deny -
process.max-file-size
privileged 8.00EB max deny,signal=XFSZ -
system 8.00EB max deny -
process.max-cpu-time
privileged 18.4Es inf signal=XCPU -
system 18.4Es inf none -
task.max-cpu-time
system 18.4Es inf none -
task.max-lwps
system 2.15G max deny -
project.max-contracts
privileged 10.0K - deny -
system 2.15G max deny -
project.max-device-locked-memory
privileged 499MB - deny -
system 16.0EB max deny -
project.max-port-ids
privileged 8.19K - deny -
system 65.5K max deny -
project.max-shm-memory
privileged 1.95GB - deny -
system 16.0EB max deny -
project.max-shm-ids
privileged 128 - deny -
system 16.8M max deny -
project.max-msg-ids
privileged 128 - deny -
system 16.8M max deny -
project.max-sem-ids
privileged 128 - deny -
system 16.8M max deny -
project.max-tasks
system 2.15G max deny -
project.max-lwps
system 2.15G max deny -
project.cpu-shares
privileged 1 - none -
system 65.5K max none -
zone.max-lwps
system 2.15G max deny -
zone.cpu-shares
privileged 1 - none -
system 65.5K max none -
|
Zeigen Sie den maximalen Dateideskriptor für die aktuell ausgeführte Shell an.
# prctl -n process.max-file-descriptor $$
process: 110453: -sh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
process.max-file-descriptor
basic 256 - deny 110453
privileged 65.5K - deny -
system 2.15G max deny
|
In diesem Beispielverfahren wird mit dem Befehl prctl ein neuer privilegierter Wert hinzugefügt, um zu verhindern, dass mehr als drei LWPs pro Projekt für das x-files-Projekt verwendet werden. Das Ergebnis ist mit dem Resultat unter So richten Sie die maximale Anzahl der LWPs für jede Aufgabe in einem Projekt ein vergleichbar.
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.
Geben Sie newtask ein, um dem Projekt x-files eine neue Aufgabe hinzuzufügen.
# newtask -p x-files |
Geben Sie den Befehl id mit der Option -p ein, um zu überprüfen, ob der Beitritt zum richtigen Projekt erfolgte.
# id -p uid=0(root) gid=1(other) projid=101(x-files) |
Fügen Sie einen neuen privilegierten Wert für project.max-lwps hinzu, der die Anzahl der LWPs auf drei begrenzt.
# prctl -n project.max-lwps -t privileged -v 3 -e deny -i project x-files |
Überprüfen Sie das Ergebnis.
# prctl -n project.max-lwps -i project x-files
process: 111108: csh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-lwps
privileged 3 - deny -
system 2.15G max deny -
|
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.
Geben Sie den Befehl prctl mit der Option -r ein, um den niedrigsten Wert der Resource Control process.max-file-descriptor zu ändern.
# prctl -n process.max-file-descriptor -r -v 128 $$ |
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.
Zeigen Sie den Wert der Resource Control project.cpu-shares im Projekt group.staff an.
# prctl -n project.cpu-shares -i project group.staff
project: 2: group.staff
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.cpu-shares
privileged 1 - none -
system 65.5K max none
|
Ersetzen Sie den aktuellen Wert für project.cpu-shares von 1 durch den Wert 10.
# prctl -n project.cpu-shares -v 10 -r -i project group.staff |
Zeigen Sie den Wert der Resource Control project.cpu-shares im Projekt group.staff an.
# prctl -n project.cpu-shares -i project group.staff
project: 2: group.staff
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.cpu-shares
privileged 10 - none -
system 65.5K max none
|