Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cpulimit(1) [debian man page]

CPULIMIT(1)							   User commands						       CPULIMIT(1)

NAME
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 -b, --background run cpulimit in the background, freeing up the terminal -c, --cpu specify the number of CPU cores available. Usually this is detected for us. -l, --limit=N percentage of CPU allowed from 1 up. Usually 1 - 100, but can be higher on multi-core CPUs. (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(1) or ps(1) 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(1) # cpulimit -P /usr/bin/foo -l 50 same as -e but uses the absolute path name # /usr/bin/someapp # cpulimit -p $! -l 25 -b Useful for scripts where you want to throttle the last command run. # cpulimit -l 20 firefox Launch Firefox web browser and limit its CPU usage to 20% # cpulimit -c 2 -p 12345 -l 25 The -c flag sets the number of CPU cores the program thinks are available. Usually this is detected for us, but can be over-ridden. NOTES
o cpulimit always sends the SIGSTOP and SIGCONT signals to a process, both to verify that it can control it and to limit the average amount of CPU it consumes. This can result in misleading (annoying) job control messages that indicate that the job has been stopped (when actually it was, but immediately restarted). This can also cause issues with interactive shells that detect or otherwise depend on SIGSTOP/SIGCONT. For example, you may place a job in the foreground, only to see it immediately stopped and restarted in the back- ground. (See also <http://bugs.debian.org/558763>.) o When invoked with the -e or -P options, cpulimit looks for any process under /proc with a name that matches the process name argument given. Furthermore, it uses the first instance of the process found. To control a specific instance of a process, use the -p option and provide a PID. o The current version of cpulimit assumes the kernel HZ value 100. AUTHOR
This manpage was written for the Debian project by gregor herrmann <gregoa@debian.org> but may be used by others. cpulimit June 2012 CPULIMIT(1)

Check Out this Related Man Page

plimit(1)                                                          User Commands                                                         plimit(1)

NAME
plimit - get or set the resource limits of running processes SYNOPSIS
plimit [-km] pid... plimit {-cdfnstv} soft,hard... pid... DESCRIPTION
If one or more of the cdfnstv options is specified, plimit sets the soft (current) limit and/or the hard (maximum) limit of the indicated resource(s) in the processes identified by the process-ID list, pid. Otherwise plimit reports the resource limits of the processes identi- fied by the process-ID list, pid. Only the owner of a process or the super-user is permitted either to get or to set the resource limits of a process. Only the super-user can increase the hard limit. OPTIONS
The following options are supported: -k On output, show file sizes in kilobytes (1024 bytes) rather than in 512-byte blocks. -m On output, show file and memory sizes in megabytes (1024*1024 bytes). The remainder of the options are used to change specified resource limits. They each accept an argument of the form: soft,hard where soft specifies the soft (current) limit and hard specifies the hard (maximum) limit. If the hard limit is not specified, the comma may be omitted. If the soft limit is an empty string, only the hard limit is set. Each limit is either the literal string unlimited, or a number, with an optional scaling factor, as follows: nk n kilobytes nm n megabytes (minutes for CPU time) nh n hours (for CPU time only) mm:ss minutes and seconds (for CPU time only) The soft limit cannot exceed the hard limit. -c soft,hard Set core file size limits (default unit is 512-byte blocks). -d soft,hard Set data segment (heap) size limits (default unit is kilobytes). -f soft,hard Set file size limits (default unit is 512-byte blocks). -n soft,hard Set file descriptor limits (no default unit). -s soft,hard Set stack segment size limits (default unit is kilobytes). -t soft,hard Set CPU time limits (default unit is seconds). -v soft,hard Set virtual memory size limits (default unit is kilobytes). OPERANDS
The following operands are supported. pid Process ID list. EXIT STATUS
plimit returns the exit value zero on success, non-zero on failure (such as no such process, permission denied, or invalid option). FILES
/proc/pid/* process information and control files ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWesu | +-----------------------------+-----------------------------+ SEE ALSO
ulimit(1), proc(1), getrlimit(2), setrlimit(2), proc(4), attributes(5), SunOS 5.10 8 Jun 1998 plimit(1)
Man Page