# chcpu

## NAME



           chcpu - configure CPUs
    


## SYNOPSIS



           **chcpu -c** |**-d** |**-e** |**-g** _cpu-list_
    
           **chcpu -p** _mode_
    
           **chcpu -r** |**-h** |**-V**
    


## DESCRIPTION



           **chcpu** can modify the state of CPUs. It can enable or disable CPUs,
           scan for new CPUs, change the CPU dispatching _mode_ of the
           underlying hypervisor, and request CPUs from the hypervisor
           (configure) or return CPUs to the hypervisor (deconfigure).
    
           Some options have a _cpu-list_ argument. Use this argument to
           specify a comma-separated list of CPUs. The list can contain
           individual CPU addresses or ranges of addresses. For example,
           **0,5,7,9-11** makes the command applicable to the CPUs with the
           addresses 0, 5, 7, 9, 10, and 11.
    


## OPTIONS



           **-c** , **--configure** _cpu-list_
               Configure the specified CPUs. Configuring a CPU means that the
               hypervisor takes a CPU from the CPU pool and assigns it to the
               virtual hardware on which your kernel runs.
    
           **-d** , **--disable** _cpu-list_
               Disable the specified CPUs. Disabling a CPU means that the
               kernel sets it offline.
    
           **-e** , **--enable** _cpu-list_
               Enable the specified CPUs. Enabling a CPU means that the
               kernel sets it online. A CPU must be configured, see **-c** ,
               before it can be enabled.
    
           **-g** , **--deconfigure** _cpu-list_
               Deconfigure the specified CPUs. Deconfiguring a CPU means that
               the hypervisor removes the CPU from the virtual hardware on
               which the Linux instance runs and returns it to the CPU pool.
               A CPU must be offline, see **-d** , before it can be deconfigured.
    
               **chcpu -g** is not supported on IBM z/VM, CPUs are always in a
               configured state.
    
               if **chcpu -g** is supported, any **disabled** CPUs should be
               **deconfigured** to inform the hypervisor that these CPUs won’t be
               used, avoiding potential performance penalties.
    
           **-p** , **--dispatch** _mode_
               Set the CPU dispatching _mode_ (polarization). This option has
               an effect only if your hardware architecture and hypervisor
               support CPU polarization. Available _modes_ are:
    
               **horizontal**
                   The workload is spread across all available CPUs.
    
               **vertical**
                   The workload is concentrated on few CPUs.
    
           **-r** , **--rescan**
               Trigger a rescan of CPUs. After a rescan, the Linux kernel
               recognizes the new CPUs. Use this option on systems that do
               not automatically detect newly attached CPUs.
    
           **-h** , **--help**
               Display help text and exit.
    
           **-V** , **--version**
               Display version and exit.
    


## EXIT STATUS



           **chcpu** has the following exit status values:
    
           **0**
               success
    
           **1**
               failure
    
           **64**
               partial success
    


## AVAILABILITY



           The **chcpu** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-01-16                       _CHCPU_(8)
    


* * *