Verwenden Sie cpulimit, um die CPU-Auslastung des VPS zu begrenzen und ein Suspendieren zu verhindern

Verwenden Sie cpulimit, um die CPU-Auslastung des VPS zu begrenzen und ein Suspendieren zu verhindern

Vorwort

Da Maschinen mit kleinem Speicher oft billiger sind und die jährliche Zahlung bei etwa 5 US-Dollar liegen kann, begrenzen die Hersteller die CPU- und Festplatten-E/A. Wenn das Limit überschritten wird, wird es gesperrt. Dies ist eine gelegentliche Angelegenheit, und einige Host-Unternehmen gewähren keine Rückerstattung für die Sperrung.

Daher können wir Software verwenden, um die CPU-Auslastung und die E/A zu begrenzen. Verwenden Sie außerdem keine Benchmarking-Software, um das Spiel auszuführen, sonst ist Ihr Schicksal besiegelt.

Installieren

Cpulimit ist eine Software, mit der die CPU-Auslastung gesteuert werden kann.

Paketinstallation

Centos:

 yum install cpulimit

Debian/Ubuntu

 apt-get install cpulimit

Kompilieren und installieren

 cd /tmp wget 'http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz' tar cpulimit-1.1.tar.gz cd cpulimit-1.1 make cp cpulimit /usr/local/sbin/ rm -rf cpulimit*

verwenden

veranschaulichen

 cpulimit -h Usage: cpulimit [OPTIONS...] TARGET OPTIONS -l, --limit=N percentage of cpu allowed from 0 to 100 (required)//cpu限制的百分比-v, --verbose show control statistics//顯示版本號-z, --lazy exit if there is no target process, or if it dies//如果限制的進程不存在了,則退出。 -i, --include-children limit also the children processes//包括子進程。 -h, --help display this help and exit //幫助,顯示參數TARGET must be exactly one of these: -p, --pid=N pid of the process (implies -z) //進程的pid -e, --exe=FILE name of the executable program file or path name //可執行程序COMMAND [ARGS] run this command and limit it (implies -z)

Verwendung

Begrenzen Sie die CPU-Auslastung von Firefox auf 30 %

 cpulimit -e firefox -l 30

Begrenzen Sie das Programm mit der Prozessnummer 1313 auf 30 % CPU-Auslastung

 cpulimit -p 1313 -l 30

Begrenzen Sie die CPU-Auslastung der Software unter dem absoluten Pfad

 cpulimit -e /usr/local/nginx/sbin/nginx -l 50

Vorsichtsmaßnahmen

Das CPU-Auslastungslimit nach -l sollte exponentiell entsprechend der tatsächlichen Anzahl der Kerne reduziert werden. Die 40%-Grenze gilt für einen Single-Core-Server. Handelt es sich um einen Dual-Core-Server, sollte die Grenze auf 20%, bei einem Quad-Core-Server auf 10% usw. begrenzt werden.
Der Root-Benutzer kann alle Prozesse einschränken, während normale Benutzer nur Prozesse einschränken können, für deren Verwaltung sie eine Berechtigung haben.
Begrenzen Sie die CPU-Auslastung für alle Prozesse

Standardmäßig kann cpulimit nur bestehende Prozesse begrenzen, aber Sie können dieses Skript so einstellen, dass es automatisch nach dem Zufallsprinzip gestartet wird (siehe den Skriptlink oben für Einstellungsmethoden). Es überwacht und begrenzt alle Prozesse (einschließlich neuer Prozesse) (überprüft einmal alle 3 Sekunden, CPU-Limit beträgt 75 %)

Dadurch kann verhindert werden, dass das System aufgrund einer hohen CPU-Auslastung hängen bleibt!

 #!/bin/bash while true ; do id=`ps -ef | grep cpulimit | grep -v "grep" | awk '{print $10}' | tail -1` nid=`ps aux | awk '{ if ( $3 > 75 ) print $2 }' | head -1` if [ "${nid}" != "" ] && [ "${nid}" != "${id}" ] ; then cpulimit -p ${nid} -l 75 & echo "[`date`] CpuLimiter run for ${nid} `ps -ef | grep ${nid} | awk '{print $8}' | head -1`" >> /root/cpulimit-log.log fi sleep 3 done

Speichern Sie unter /root/cpulimit.sh. Die Protokolldatei /root/cpulimit-log.log wird automatisch generiert.

Fügen Sie dann diese Kostenreduzierung hinzu, um beim Booten zu beginnen.

So einstellen, dass es beim Booten startet

Ändern Sie /etc/rc.local, fügen Sie /root/cpulimit.sh an der entsprechenden Stelle hinzu und starten Sie das System neu, wodurch die CPU-Auslastung jedes Prozesses begrenzt wird!

über: https://www.mf8.biz/cpulimit-make-none-suspend/

<<:  FastWebHost: 12 $/Jahr/unbegrenzter Speicherplatz/unbegrenzter Datenverkehr/kann 1 Domänennamen binden/Phoenix

>>:  K9VPS: 5,94 $/Jahr/128 MB Speicher/10 GB Speicherplatz/500 GB Datenverkehr/OpenVZ/Los Angeles

Artikel empfehlen

HiFormance: OpenVZ VPS-Sonderangebote

HiFormance und OpenVZ VPS machten von Zeit zu Zei...

Cloudflexy/dedicenter 2 GB RAM Los Angeles KVM VPS-Testbericht

Details: Cloudflexy: 13,99 $/Jahr/2 GB Speicher/3...

dns.systeminplace.net: Stabiles, kostenloses DNS

Dies ist die vor Kurzem gestartete kostenlose DNS...

HOST4FUN: 7 USD/Jahr/256 MB RAM/5 GB Speicher/100 GB Bandbreite/OpenVZ/Dallas

Der ausländische Hosting-Anbieter HOST4FUN wurde ...

Centrio™: Wildcard-SSL für 2,50 $/Jahr

Bestelllink https://billing.centriohost.com/cart....

Hostigation-Einführung zu amerikanischen Hosting-Anbietern

Hostigation ist ein 2006 gegründetes Unternehmen,...