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

Günstige SSL-Zertifikatsammlung

1. Der Preis von gogetssl hat sich seit vielen Ja...

Datarealm: 4 $/Monat/512 MB/15 GB Speicherplatz/1 TB Datenverkehr/KVM/Phoenix

Datarealm wurde 1995 gegründet, seitdem sind 20 J...

Linux VPS installiert vnStat zur Verkehrsüberwachung

Die Installation von Debian 7 (32-Bit) war erfolg...

GoDaddy-Gutscheincode für Domainregistrierung/-übertragung im Wert von 1,49 $

Verwenden Sie den Code WINTER149 @GoDaddy.com, um...