Man Linux: Main Page and Category List


       cpulimit -- limits the CPU usage of a process


       cpulimit TARGET [OPTIONS...]


       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


       -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


       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


       ·   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       background.        (See       also

       ·   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.

       ·   The current version of cpulimit assumes the kernel HZ value 100.


       This  manpage  was  written  for  the Debian project by gregor herrmann
       <> but may be used by others.