Auf der Manpage ksoftirqd
befindet sich ein pro-CPU-Kernel-Thread, der ausgeführt wird, wenn die Maschine unter starker Soft-Interrupt-Last steht.
Sie können die Einstellungen etwas anpassen, indem Sie festlegen, welche CPU einen bestimmten Interrupt aufnimmt. Sie tun dies, indem Sie den Inhalt von ändern /proc/irq/$interrupt_number/smp_affinity
. Sie können eine Liste der Interrupts und ihrer Bedeutung abrufen, indem Sie folgende Schritte ausführen:
cat /proc/interrupts
Die Zahl in smp_affinity
ist eine Bitmap von cpus, dargestellt in hexadezimalem Code. Das am weitesten rechts stehende Bit ist das niedrigstwertige. Zum Beispiel hat mein System 8 Kerne. Wenn ich nur die Kerne 1, 3 und 4 verwenden möchte, würde ich die smp_affinity auf Folgendes setzen 1a
:
cpu_7 cpu_6 cpu_5 cpu_4 cpu_3 cpu_2 cpu_1 cpu_0
0 0 0 1 1 0 1 0 = 0001 1010 = 1a (in hex)
Persönlich habe ich eine beliebige CPU eingerichtet, um Interrupt 29 (eth0 in meinem 8-Core-System) auszulösen:
sudo echo ff > /proc/irq/29/smp_affinity