Linux Commands Examples

A great documentation place for Linux commands


distribute hardware interrupts across processors on a multiprocessor system



add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


insmod nvme.ko
irqbalance -o -h exact
sh run_fio -m read
modprobe -r nvme


The purpose of irqbalance is distribute hardware interrupts across processors on a multiprocessor system in order to increase performance.



Causes irqbalance to be run once, after which the daemon exits


Causes irqbalance to print extra debug information. Implies --foreground


Causes irqbalance to run in the foreground (without --debug)

--hintpolicy=[exact | subset | ignore]

Set the policy for how irq kernel affinity hinting is treated. Can be one of:

exact irq affinity hint is applied unilaterally and never violated

subset irq is balanced, but the assigned object will be a subset of the affintiy hint

ignore irq affinity hint value is completely ignored

Set the threshold at which we attempt to move a cpu into powersave mode If more than <threshold> cpus are more than 1 standard deviation below the average cpu softirq workload, and no cpus are more than 1 standard deviation above (and have more than 1 irq assigned to them), attempt to place 1 cpu in powersave mode. In powersave mode, a cpu will not have any irqs balanced to it, in an effort to prevent that cpu from waking up without need.


Add the specified irq to the set of banned irqs. irqbalance will not affect the affinity of any irqs on the banned list, allowing them to be specified manually. This option is addative and can be specified multiple times. For example to ban irqs 43 and 44 from balancing, use the following command line: irqbalance --banirq=43 --banirq=44


Execute the specified script for each irq that is discovered, passing the sysfs path to the associated device as the first argument, and the irq vector as the second. An exit value of 0 tells irqbalance that this interrupt should balanced and managed as a normal irq, while a non-zero exit code indicates this irq should be ignored by irqbalance completely (see --banirq above). Use of this script provides users the ability to dynamically select which irqs get exluded from balancing, and provides an opportunity for manual affinity setting in one single code point. NOTE: The banscript option is deprecated. Please use the --polscript option instead


An superset of the functionality found in the --banscript option. When specified, the referenced script will execute once for each discovered irq The script may specify zero or more key=value pairs that will guide irqbalance in the management of that irq. The script will be passed the path to the sysfs device that owns the irq and the irq number itself as the first and second arguments. Key=value pairs are printed by the script on stdout, and will be captured and interpreted by irqbalance. Irqbalance expects a zero exit code from the provided utility. Recognized key=value pairs are:

ban=[true | false]

Directs irqbalance to exclude the passed in irq from balancing

balance_level=[none | package | cache | core]

This allows a user to override the balance level of a given irq. By default the balance level is determined automatically based on the pci device class of the device that owns the irq.


Have irqbalance write its process id to the specified file. By default no pidfile is written. The written pidfile is automatically unlinked when irqbalance exits.

environment variables


Same as --oneshot


Same as --debug


Provides a mask of cpus which irqbalance should ignore and never assign interrupts to



Forces a rescan of the available irqs and system topology


How can this site be more helpful to YOU ?

give  feedback