logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

cputool — CPUTool is a utility which manages CPU usage and system load

Author

       This manual page was written by Daniel Lange and converted to SGML by  Nigel  Kukard  <nkukard@lbsd.net>.
       Permission  is granted to copy, distribute and/or modify this document under the terms of the GNU General
       Public License, Version 3 any later version published by the Free Software Foundation.

       On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-
       licenses/GPL-3.

                                                                                                      CPUTOOL(8)

Description

       Limit the CPU usage of a process or a process group to a given limit  and/or  suspend  processes  if  the
       system  load  exceeds  a  threshold.  CPUTool  works  by sending SIGSTOP and SIGCONT signals to processes
       depending on the system load.

Examples

       cputool -p 4711 -c 75
                 Limit the PID 4711 to 75% use of one CPU core.

       cputool -l 7.5 -- rsync -av /home /backup/`date +%Y-%m-%d`/
                 Run rsync for a local backup only when the system load does not exceed 7.5. See the note for -l
                 when using program that relies on TCP network connections.

Name

       cputool — CPUTool is a utility which manages CPU usage and system load

Notes

       CPUTool will run on 32-bit and 64-bit Linux systems. It depends on the /proc pseudo-filesystem to  detect
       PIDs and their resource usage.

       TCP  network connections could time out if a process is suspended for extended periods of time (while the
       load is too high).  Not all programs handle this case well.

Options

       These programs follow the usual GNU command line syntax, with  long  options  starting  with  two  dashes
       (`-').  A summary of options is included below.

       -c, --cpu-limitPCNT
                 Specify  the  maxium  CPU the process / process group can use. Expressed as percentage of total
                 CPU. Eg. 200 is two full CPUs in a multi processor system. Specify an integer value.

       -l, --load-limitLOAD
                 Specify the maxium load the system may experience for the process  process  group  to  continue
                 running. Specifyng a fractional value is possible (e.g. 3.5).

       -p, --pidPID
                 Manage  the  CPU  usage of a specific PID. This is the most efficient use of CPUTool as it does
                 not have to walk the process tree to look for forks of children.

       -P, --pid-pgrpPID
                 Manage the CPU usage of a specific PID's entire process group. The  same  can  be  achieved  by
                 specifying  a  COMMAND  which CPUTool will then execute and manage the process group created by
                 that command.

       -v, --verbose
                 Increase the amount of messages printed to stderr.

                 -vv will additionally show statistical information.

                 -vvv will addditionally show signals being sent to processes.

       -V, --version
                 Output version information and exit.

       -h, --help
                 Display a help page and exit.

See Also

       signals (7), kill(1), uptime(1).

Synopsis

cputool  [--cpu-limit  PCNT]  [--load-limit LOAD]  [ [--pid PID  | --pid-pgrp PID ]  |  [--]  COMMAND ...
       ]

See Also