3

I can not kill irq/${nnn}-nvidia by kill -9 or pkill -f -9. Does anyone how to kill or stop those process?

the irq using 100% of CPU

  • I solved this problem. The point of this topic is can not reboot when 100% CPU of irq. I did to reboot from this command. sudo su echo s > /proc/sysrq-trigger echo u > /proc/sysrq-trigger echo b > /proc/sysrq-trigger – TMit Dec 19 '17 at 3:58
3

As @hobbs explained, it is a kernel thread. More wide perspecive is the following:

IRQ handling is a problematic thing in any OSes, because interrupt can came any time, even if the kernel works in the moment on a complex task and many resources are inconsistent (pointers are pointing to invalid addresses and so on). This can be solved by locks, i.e. we don't allow the interrupt handlers to run until again a breakable, consistent state isn't reached. It has the major disadvantage, that too many locks are making the system slow and ineffective.

Thus, the optimal solution for the problem is this:

  1. the kernel interrupt handlers are so short as possible
  2. their only task is to move all relevant interrupt data into a temporary buffer
  3. however, something in the "background", works continuously on this buffer and does the real work on the interrupts.

These are the interrupt handler kernel threads. These are kernel threads, namely:

  • you see them in the top as normal processes,
  • however, you see as if they would use zero memory,
  • and yes, this is true, because no real user space memory belongs to them.

They are essentially in the background running threads of the kernel.

You can't kill kernel threads, they are managed entirely by the kernel. If you could kill them, the irq/142 handler in your nvidia driver wouldn't exist any more, i.e. if your videocard sends an interrupt, nothing would handle it. The result would be likely a freeze, but your video surely wouldn't work any more.

Now the problem in your system is that this interrupt handler gets a lot of CPU resource. It can have many reasons:

  • On some reason, the hardware (in this, your video card) sends simply so many interrupts that your CPU can't handle all of them.
  • The hardware is buggy.
  • The driver is buggy.

Knowing the quality of the nvidia drivers, unfortunately this last version is the most likely.

The solution is to somehow reset this driver. Some ideas, ordered ascending by brutality:

  • Isn't running some 3D accelerated process in the background? Google Earth, for example? If yes, stop or kill it.
  • From X, switch back to character console (alt/ctrl/f1) and then back (alt/ctrl/f7). Then most of the video initialization will re-initialized.
  • Restart X (exit ordinarily, or alt/ctrl/backspace kills the X server)
  • Kill X (killall -9 Xorg, better if you do this from character console)

If you killed X and there is still that kernel thread, you may try to remove the nvidia kernel module (you can see it in the list given by lsmod, then you can remove it by rmmod). Restarting X will insmod it automatically, resetting the hardware.

If nothing works, you need to reboot. If even the ordinary reboot don't work, you can do this with additional brutality, with and alt/printscreen/s following by an alt/printscreen/b.


Extension: as a temporary workaround, you may try to give a very low priority to that task (renice +20 -p 1135). Then it will still run, but it will harm much lesser your system performance.

  • Any way to reboot when got happened? – TMit Nov 13 '17 at 13:11
  • @TMit Having a process running with 100% shouldn't avoid reboot. However, alt/printscreen/s syncs the disk, alt/printscreen/r mounts everything as readonly, and alt/printscreen/b reboots on the spot. If you can't reboot with alt/printscreen/b, your system is nearly surely dead. – peterh Nov 13 '17 at 13:16
  • yes, I can Magic SysRq Key to reboot. How to get that by remote? – TMit Nov 14 '17 at 14:27
  • @TMit The essence of the magic sysrq key is that it works always, even without network, or without anything. If you have a working keyboard driver, it will work. The same from net is inherently impossible. There is a software named sysrdq which emulates magic sysrq on a tcp port, of course it won't work if you don't have a network. – peterh Nov 14 '17 at 15:32
  • @TMit If your problem is only that your X has totally f*cked your screen and you can't even switch back to character console: 1) login remotely with ssh 2) kill the old X server 3) start a new. The new X will reset the video chip. – peterh Nov 14 '17 at 15:34
3

You can't. It's not a process, it's a kernel thread. You can't kill it, and if you did manage to you would only make your system (more) unusable.

  • I see. can not disable it too? I just need reboot but can not. so, any idea to reboot when it happen? – TMit Aug 19 '17 at 3:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.