aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 15f0691033eb379f65e92a4a0de4e7b2d61a63d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
CPULIMIT

=======
 About
=======

Cpulimit is a tool which attempts to limit the CPU usage of a process (expressed in percentage, not in CPU time). It is useful to control batch jobs, when you don't want them to eat too many CPU cycles. The goal is prevent a process from running for more than a specified time ratio. It does not change the nice value or other scheduling priority settings, but the real CPU usage. Also, it is able to adapt itself to the overall system load, dynamically and quickly.
The control of the used cpu amount is done sending SIGSTOP and SIGCONT POSIX signals to processes.
All the children processes and threads of the specified process will share the same percent of CPU.

Developed by Angelo Marletta.
Please send your feedback, bug reports, feature requests or just thanks.

===========
 Changelog
===========

- added support for FreeBSD
- reorganization of the code, splitted in more source files
- cpu count detection, i.e. if you have 4 cpu, it is possible to limit up to 400%
- in order to avoid deadlocks, cpulimit now prevents to limit itself
- option --path eliminated, use --exe instead both for absolute path and file name
- call setpriority() just once
- no more segmentation fault when processes exit
- no more memory corruption when processes exit
- cpulimit exits if --lazy option is specified and the process terminates
- target process can be created on-fly given command line
- light and scalable algorithm for subprocesses detection and limitation
- minor enhancements and bugfixes

============================
 Get the latest source code
============================

The latest available code is here:

https://github.com/opsengine/cpulimit


==============
 Installation
==============

Run 'make' and place the executable file 'cpulimit' wherever you want.

Type 'cpulimit --help' to print the usage.
Un proyecto texto-plano.xyz