cpulimit is a simple program that attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time). This is useful to control batch jobs, when you don’t want them to eat too much cpu. It does not act on the nice value or other scheduling priority stuff, but on the real cpu usage. Also, it is able to adapt itself to the overall system load, dynamically and quickly.

How it works

Note that you don’t need to read this paragraph in order to use cpulimit, you can safely skip it if you are not interested in tweaking cpulimit.

So, you are curious to know the secrets of cpulimit :) Of course there is no secret if you are a C developer, but I will try to explain to everyone. The work of cpulimit is done all in userspace, so it doesn’t interfere with the Linux scheduler. Basically, the target process, which you can specify by pid, name, or command line, is continuosly paused and resumed by sending it SIGSTOP and SIGCONT signals. Signals are sent by cpulimit in appropriate moments, based on the limit specified by user and the process statistics read from /proc.

System Requirements

cpulimit should run on every Linux 2.2 or greater. It has been reported by several users that cpulimit works fine even on SMP hardware, but consider that if you have more than one cpu there is a little difference in the meaning of cpu usage .

If you can modify the source code of cpulimit to make it run in another OS, please notify me, so I can publish your code. I think that the only non-portable code is to iterate through the process list and get process statistics.

Install cpulimit in debian

#apt-get install cpulimit

Examples of use

Limit the process ‘bigloop’ by executable name to 40% CPU:

cpulimit --exe bigloop --limit 40

cpulimit --exe /usr/local/bin/bigloop --limit 40

Limit a process by PID to 55% CPU: cpulimit --pid 2960 --limit 55 Launch a process by command line and limit it to 40% (in development version only!):

cpulimit --limit 40 /etc/rc.d/rc.boinc start

cpulimit manpage

cpulimit -- limits the CPU usage of a process

Synopsis

cpulimit TARGET [OPTIONS...]

Description

TARGET must be exactly one of these:

-p, --pid=N pid of the process

-e, --exe=FILE name of the executable program file

-P, --path=PATH absolute path name of the executable program file

OPTIONS

-l, --limit=N percentage of CPU allowed from 0 to 100 (mandatory)

-v, --verbose show control statistics

-z, --lazy exit if there is no suitable target process, or if it dies

-h, --help display this help and exit

Examples

Assuming you have started ‘foo –bar‘ and you find out with top or ps that this process uses all your CPU time you can either

# cpulimit -e foo -l 50

limits the CPU usage of the process by acting on the executable program file (note: the argument “--bar” is omitted)

# cpulimit -p 1234 -l 50

limits the CPU usage of the process by acting on its PID, as shown by ps

# cpulimit -P /usr/bin/foo -l 50

same as -e but uses the absolute path name

Original posted here :

http://www.debianadmin.com/cpulimit-limit-the-cpu-usage-of-a-process.html

Suroboy 的cpulimit - 限制一个进程的CPU使用率 是根据张贴Suroboy Debian Linux. 如果你喜欢它, 你可以考虑订阅 我们的饲料, 跟随我的 叽叽喳喳, 或接收我们的最新帖子 通过电子邮件.
Suroboy 当你在这里, 为什么你不看那些相关的其他职位 的cpulimit - 限制一个进程的CPU使用率 如没有相关的职位, -.
Suroboy

如果您发现此页面有用, 考虑链接到它.
只需复制并粘贴到您的网页下面的代码网站 (按Ctrl C复制)
它看起来就像这样: 的cpulimit - 限制一个进程的CPU使用率

Suroboy
你想重新发布这篇文章在您的网站?
只需复制并粘贴到你的网站下面的代码形式 (按Ctrl C复制)

评论表

档案

翻译

  • 翻译
    EnglishAfrikaansBahasa IndonesiaCatalàCymraegDeutschEesti keelEspañolFrançaisGaeilgeGalegoHrvatskiItalianoKiswahiliKreyòl ayisyenMaltiNederlandsNorskPolskiPortuguêsRomânăShqipSuomiTagalogTiếng ViệtTürkçeazərbaycan dilibahasa Melayudanskeuskaralatviešu valodalietuvių kalbamagyarslovenčinaslovenščinasvenskaíslenskačeštinaΕλληνικάБеларускаяБългарскиРусскийУкраїнськамакедонски јазиксрпски језикՀայերենייִדישעבריתاردوالعربيةفارسیहिन्दी; हिंदीภาษาไทยქართული中文(漢字)中文(简体)日本語우리말
     编辑翻译
    Transposh

获取最近更新

请输入您的电子邮件:

Follow Me on Twitter

我买了一杯茶

你喜欢我的免费服务?
为什么不给我买一杯茶?
PayPal - The safer, easier way to pay online.

链接