我尝试在 XP 计算机上加载 Ubuntu 12.04 的实时磁盘,但它不断重复“CPU#0 卡住 x 秒”。有人能帮帮我吗?
答案1
Linux 内核有一个监视系统上每个 CPU 的进程。
内核中有特殊中断。此中断函数调用软锁定计数器,它将当前时间戳与特定内核 CPU 数据结构时间信息进行比较。如果与存储的时间戳相比,当前时间戳似乎晚于定义的阈值(以秒为单位),则假定监控进程或看门狗线程在相当长的时间内未执行。
为什么或如何会发生 CPU 软锁定?如果内核正在仔细调度 CPU 访问,CPU 怎么会被锁定?基本上,任何编写不当且循环次数多或无限的代码都会拥有一个 CPU 并获得一些优先级。这可能是编程问题或第三方软件。
驱动程序中的锁定问题。甚至重要驱动程序或调度程序中的内核错误。调度程序可以通知调度程序运行驱动程序例程,如果该驱动程序出现问题并且不检查它,则该驱动程序例程可能会长时间占用或霸占该 CPU。根据上述定义,看门狗会捕获此情况并发出软锁定警报。
软锁定通常会导致 CPU 甚至系统暂时挂起。
内核更新可能会修复此问题。要更新内核,只需按键盘上的Ctrl+ Alt+T打开终端。打开后,运行以下命令:
对于 32 位系统:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb
对于 64 位系统:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb
对于 32 位和 64 位,运行以下命令来安装它们:
sudo dpkg -i linux-headers-3.11.0*.deb linux-image-3.11.0*.deb
安装完成后,重新启动计算机!
如果您在使用该内核时遇到问题,请运行以下命令将其删除:
sudo apt-get purge linux-image-3.11.0*