Verwenden von CGroup zum Begrenzen der VPS-CPU-Auslastung unter CentOS

Verwenden von CGroup zum Begrenzen der VPS-CPU-Auslastung unter CentOS

Linux CGroups können Ressourcen – wie CPU-Zeit, Systemspeicher, Netzwerkbandbreite oder eine Kombination davon – benutzerdefinierten Gruppen von Aufgaben (Prozessen) zuweisen, die auf dem System ausgeführt werden. Das Folgende dient hauptsächlich der Begrenzung der CPU-Auslastung.
Informationen zur gemeinsam genutzten CPU-Nutzungszeit und zum Verhältnis davon finden Sie in den Nutzungsbedingungen jedes VPS-Anbieters.

Die CPU-Auslastung von Virmach kann nicht länger als 2 Stunden 50 % überschreiten.

1. Installieren und aktivieren Sie CGroup

 yum installiere libcgroup libcgroup-tools numactl -y

CGroup aktivieren

 systemctl starte cgconfig.service

2. Begrenzen Sie die CPU-Auslastung des Benutzers

1. Konfiguration hinzufügen

 vi /etc/cgconfig.conf

Am Ende hinzufügen

 Gruppe Benutzer_normal_limit{
    CPU{
        # Begrenzen Sie die CPU-Auslastung auf 30 %
        cpu.cfs_perioden_us=100000;
        cpu.cfs_quota_us=30000;
    }
}

Ändern Sie hauptsächlich cpu.cfs_quota_us so, dass es dem Verhältnis von cpu.cfs_period_us entspricht.

2. Eingeschränkte Benutzer hinzufügen

 vi /etc/cgrules.conf

Am Ende hinzufügen

 @Benutzer CPU-Normalbenutzerlimit

Eingeschränkten Benutzer hinzufügen

 usermod -a -G Benutzer root

oder mehr

 usermod -a -G Benutzer www
usermod -a -G Benutzer MySQL

3. Verwenden Sie die Konfiguration, um wirksam zu werden

Stellen Sie den Cgroup-Dienst so ein, dass er beim Booten gestartet wird

 systemctl aktiviere cgconfig
systemctl aktiviere cgred

Starten Sie den Cgroup-Dienst neu

 systemctl restart cgconfig
systemctl Neustart cgred


3. Begrenzen Sie die CPU-Auslastung eines einzelnen Programms
1. Überprüfen Sie die Anzahl der Threads der VPS-CPU

 grep 'Prozessor' /proc/cpuinfo | sort -u | wc -l

2. Erstellen Sie eine Isolationsgruppe

 cd /sys/fs/cgroup/cpu
mkdir cpu_test

Hinweis: Nachdem das Verzeichnis erstellt wurde, werden die folgenden Dateien automatisch generiert (Hinweis: Dieses Verzeichnis kann nicht manuell gelöscht werden. Wenn es nicht zum Start hinzugefügt wird, verschwindet es nach dem Neustart).

 ls cpu_test/

3. Parameter ändern

 echo 30000 > /sys/fs/cgroup/cpu/cpu_test/cpu.cfs_quota_us

Hinweis: Der Standardwert von -1 bedeutet unbegrenzt. Jetzt wird er auf 20000 geändert, was bedeutet, dass cpu.cfs_quota_us auf 30000 gesetzt wird, was 30 % relativ zu cpu.cfs_period_us von 100000 entspricht. Daraus lässt sich schließen, dass die CPU-Auslastung auf 30 % begrenzt ist.

4. Begrenzen Sie die CPU-Auslastung eines Programms
Prozess anzeigen

 Spitze

Einschränkungsprogramm

 Echo-Prozess-PID >> /sys/fs/cgroup/cpu/cpu_test/tasks

Das Schreiben mehrerer Prozesse in Aufgaben bedeutet, dass 30 % der CPU gemeinsam genutzt werden.

4. Führen Sie ein CPU-intensives Skript aus

 vi cpu.sh

Schreiben

 #/bin/bash
x=0
während [ True ];machen
    x=$x+1
Erledigt;

Berechtigungen festlegen und ausführen

 chmod +x cpu.sh
sh cpu.sh &

Hauptreferenzen: http://note.jues.org.cn/index.php/comment/12, https://www.cnblogs.com/llwxhn/p/12558577.html

<<:  DogYun: Doppelte 12-Veranstaltung, 40 % Rabatt auf alle Artikel, Verlosung usw.

>>:  【Black Friday】NetShop ISP: 3,49 €/Monat/512 MB Speicher/10 GB Speicherplatz/600 GB Datenverkehr/100 Mbit/s-Port/KVM/Singapur/Zypern/Malta/Großbritannien/Niederlande usw.

Artikel empfehlen

Linode 1 GB RAM KVM VPS Singapur Bewertung

Details : Linode: 5 $/Monat/1 GB Speicher/20 GB S...

ZStack: Kostenloses Cloud Computing IaaS

1. ZStack-Einführung : ZStack ist die Open-Source...

Alibaba International 4 GB RAM 30 Mbit/s Port Hongkong CN2 KVM VPS Bewertung

Details : Alibaba Cloud International: 2,5 $/Mona...

Neuester Rabattcode von BurstNET (Update-Beitrag)

Gutscheincode für Dezember 2011, läuft am 31. Dez...

prometeus Neueste Super-Angebote

Der bisherige Rabatt von 50 % ist immer noch gült...