Use cpulimit to limit VPS CPU usage and prevent suspend

Use cpulimit to limit VPS CPU usage and prevent suspend

Preface

Because machines with small memory are often cheaper, the annual payment may be around $5, so manufacturers will limit the CPU and disk IO. If it exceeds the limit, it will be suspended. This is a casual thing, and some host companies will not provide refunds for suspend.

So we can use some software to limit CPU usage and IO. Also, don't use any benchmarking software to run the game, otherwise you're done for.

Install

Cpulimit is a software that can control CPU usage.

Package Installation

Centos:

 yum install cpulimit

Debian/Ubuntu

 apt-get install cpulimit

Compile and install

 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*

use

illustrate

 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)

usage

Limit Firefox to 30% CPU utilization

 cpulimit -e firefox -l 30

Limit the program with process number 1313 to 30% CPU utilization

 cpulimit -p 1313 -l 30

Limit the CPU utilization of the software under the absolute path

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

Precautions

The CPU usage limit after -l should be reduced exponentially according to the actual number of cores. The 40% limit is effective for a single-core server. If it is a dual-core server, it should be limited to 20%, a quad-core server to 10%, and so on.
The root user can restrict all processes, while ordinary users can only restrict processes that they have permission to manage.
Limit CPU usage for all processes

By default, cpulimit can only limit existing processes, but you can set this script to start automatically at random (see the script link above for setting methods). It will monitor and limit all processes (including new processes) (check once every 3 seconds, CPU limit is 75%)

This can prevent the system from being suspended due to high CPU usage!

 #!/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

Save to /root/cpulimit.sh, and the log file /root/cpulimit-log.log will be automatically generated

Then add this cost reduction to start at boot.

Set to start at boot

Modify /etc/rc.local and add /root/cpulimit.sh to the corresponding position and restart the system, which will limit the CPU usage of each process!

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

<<:  FastWebHost: $12/year/unlimited space/unlimited traffic/can bind 1 domain name/Phoenix

>>:  K9VPS: $5.94/year/128MB memory/10GB space/500GB traffic/OpenVZ/Los Angeles

Recommend

Beyotta Network: $7.35/month/2G memory/10GB space/500GB traffic/KVM/Singapore M1

Beyotta Network, a Singapore hosting provider, ha...

Simcentric E3-1220v6 8GB memory Hong Kong CN2 dedicated server review

Details: Simcentric: 1699 yuan/month/E3-1275v6/16...

SolVPS: $13/month/1GB RAM/20GB SSD space/unlimited traffic/KVM/Los Angeles

SolVPS, a hosting provider founded in 2013, offer...

NodeServ: $35/year/768MB/35GB hard disk/2TB traffic/KVM

NodeServ, an American hosting company, was founde...

Eleven2 – 40% discount coupon for the old American host

Eleven2 is a very old American hosting company th...

Common VPS environment architecture (XEN, OpenVZ, KVM, Hyper-V, HVM)

The commonly used VPS environments on the market ...

Hostlix: $0.95/month/256MB RAM/5GB SAS space/unlimited traffic/OpenVZ/Russia

Hostlix, a Russian hosting provider, was establis...

Synatiq 1GB RAM NVMe hard drive 10Gbps bandwidth UK KVM VPS review

Details : Synatiq: $5/month/1GB memory/25GB NVMe ...