我的一个 RAM 棒在我的 Ubuntu 10.10 上导致内核恐慌(类似于“不同步”屏幕上显示的大量内存地址)。这绝对是一根 RAM 棒而不是它的插槽,因为当我将其他一根棒插入一根 RAM 棒的插槽时,一切正常。为什么 memtest 在几个周期后没有发现任何错误,但 Ubuntu 在使用这个特殊的 RAM 棒时无法启动?有人对此有解释吗?
我在 Steam 上玩游戏时突然出现内核恐慌。我手动关闭计算机并重新启动到 Linux Mint 17.1 (Cinnamon) 64 位,然后去检查我的日志文件/var/log/,但我找不到任何与内核崩溃相关的参考或任何类型的消息那事发生了。
奇怪的是为什么它从来没有转储核心,甚至没有将其记录到日志文件中。如何确保内核始终被转储,以防再次发生内核恐慌?发生内核恐慌时为什么没有记录任何内容没有任何意义。环顾谷歌,人们建议通过阅读/var/log/dmesg,/var/log/syslog,/var/log/kern.log,/var/log/Xorg.log等...但一无所获。甚至不在.Xsession-errors档案中。
如果它再次发生,我总是可以拍下屏幕的照片,但我只想确保我可以让它转储内核并在内核崩溃时创建一个日志文件。
我在这台机器上使用任何相对较新的二进制发行版时遇到问题。最后一个可以正常工作的二进制发行版是 Ubuntu 8.04。我目前正在将 Gentoo 与最新的 3.2.1 内核一起使用,并且它在所有外围设备上都能正常工作。我之前使用过 Gentoo(因为我一直有这个问题)但我决定我已经厌倦了自己配置所有东西并一直等待编译。
我尝试安装 Linux Mint 12、Fedora 16 和 Debian Squeeze,结果都一样,内核崩溃。当唤醒笔记本电脑或无线网卡连接到网络时,这种情况似乎更频繁地发生。
我阅读了各种文章,指出我的无线网卡存在问题,但我认为使用rmmod iwl4965和rmmod iwl_legacy关闭无线电可以确保无线网卡不会引起内核恐慌。这并没有解决问题。在读到有些人的显卡有问题后,我还尝试使用专有nvidia驱动程序和开源nouveau驱动程序。
我还发现很难相信这是硬件问题,因为当所有内容都在使用 Gentoo 的系统上编译时,我的所有硬件都可以正常工作。我有专有的视频驱动程序工作,机器睡眠和唤醒没有问题,我的无线网卡使用wpa_supplicant和使用都没有问题wicd。
有人有想法吗?
背景资料:
的输出lspci:
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)
00:1a.0 USB …Run Code Online (Sandbox Code Playgroud) 我在 AWS/EC2 上运行 Ubuntu 12.04 并且有大量主机正在运行。我正在尝试启用内核转储,但是当我模拟内核崩溃时,文件系统上的任何地方都没有写入 .crash 文件。
我按照这里的说明操作:https : //wiki.ubuntu.com/Kernel/CrashdumpRecipe
事情似乎设置正确:
# cat /proc/cmdline
root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# dmesg |grep crash
[ 0.000000] Command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
[ 0.000000] Reserving 64MB of memory at 832MB for crashkernel (System RAM: 1708MB)
[ 0.000000] Kernel command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# cat /sys/kernel/kexec_crash_loaded
1
Run Code Online (Sandbox Code Playgroud)
但是当我执行时:
# echo c | sudo tee /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
系统按预期重新启动,但不会生成任何类型的“崩溃”文件。我可能做错了什么?
我知道很难隔离 CPU,但我看到的错误表明这就是问题所在。
这绝对不是故障/损坏的硬件问题。在过去的几天里,我一整天都在运行 Windows 10,这东西很快!没有崩溃。更重要的是,我运行了 Windows 内存检查器。记忆力都很好。
该机为全新联想Yoga 710 15"
x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD
Run Code Online (Sandbox Code Playgroud)
我在两者上都看到了同样的问题
对于 Arch——问题只是在从 U 盘启动时间歇性地出现。我设法在驱动器上的 100GB ext4 分区上安装了 Arch。该安装在启动期间间歇性地(例如 90% 的时间)具有相同的问题。如果我通过了启动,那么问题会在我执行的前几个终端命令之后随机出现,最终导致完全死锁。
对于 Ubuntu——USB 记忆棒甚至无法启动。我立即被这些相同的错误阻止。僵局...
每当发生这种情况时,日志中都会出现与内存相关的错误,但我看到的关键错误是:
General protection fault 0000[#1] PREEMPT SMPRIP kmem_cache_allocRIP kmem_cache_alloc_trace对于这些错误,我已经多次看到一些相同的堆栈跟踪:
rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra …Run Code Online (Sandbox Code Playgroud) 当我尝试以 root 身份使用 raid 时,我的系统出现混乱。
我想在恐慌之前阅读内核输出,但无法向上滚动。在谷歌搜索了一下之后,我想尝试 netconsole。但我在第二台机器上根本没有输出
我当前 grub.conf 的相关部分
title Gentoo Linux 3.0.6
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo root=/dev/md3
title Gentoo Linux 3.0.6 (debug netconsole)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=@/,6666@192.168.0.27/00:18:f3:a8:09:61
#kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=6665@192.168.0.26/eth0,6666@192.168.0.27/00:18:f3:a8:09:61
title Gentoo Linux 3.0.6 (no root/auto root)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo
Run Code Online (Sandbox Code Playgroud)
另一台计算机正在运行我启动的 Kubuntu LiveCD nc -u -l 6666。
如果我用第三个 grub 选项启动(第一台)计算机,我可以运行nc -u 192.168.0.27 6666以与第二台计算机进行通信。
/boot/linux-3.0.6-gentoo和之间的区别/boot/linux-3.0.6-gentoo-debug是我启用了:
随机,但不迟于工作 10 小时后,笔记本电脑冻结。只是冻结。知道并非所有硬件错误都会报告给用户,因此我尝试了 netconsole。不幸的是,netconsole 在冻结时也没有输出任何内容。
该«繁忙»组合也不起作用系统挂起时。
我发现的唯一相关性是,通常,在下一次开机时(强制关机后),笔记本电脑会多消耗 10W 的功率。但我怀疑这可能是偶然的。这种行为不仅限于系统在冻结后开机的次数。平均1.5次重启后,功耗恢复正常。
...
解决此冻结问题的下一步行动是什么?
由于对问题的原因一无所知,几乎可以尝试无数种组合。但也许你们中的一些人在调试硬件方面更有经验,可以提出一些常见的嫌疑人?
更新:
怀疑非标准的 Ubuntu 主线内核是罪魁祸首,我确实重新安装了整个系统,这次是使用基于 Ubuntu 12.10 的 Mint14,而后者又基于 3.5.x 内核家族。不幸的是,同样的问题:-(
更新 2:
悬挂事件的分布似乎是非泊松分布(即有时更频繁,有时更不频繁),但到目前为止我不知道如何将它与任何类型的事件相关联。无论是否以交互方式使用笔记本电脑,都会发生这种情况。当使用内存(并且使用系统页面 - 在我的例子中是 zram)和内存仅使用 30% 时,都会发生这种情况。
连接到某个无线网络时,我的内核一直处于恐慌状态。我想发送错误报告,但我的内核显然已被污染。来自/var/log/messages:
Apr 17 21:28:22 Eiger kernel: [13330.442453] Pid: 4095, comm: kworker/u:1 Tainted: G O 3.8.4-102.fc17.x86_64 #1
Run Code Online (Sandbox Code Playgroud)
和
[root@Eiger ~]# cat /proc/sys/kernel/tainted
4096
Run Code Online (Sandbox Code Playgroud)
我无法找到有关 4096 位掩码含义的文档,但该. 如何找出哪个模块污染了内核?G标志表示外部 GPL 模块已加载到内核中
我已经搜索[Tt]aint了 /var/log/messages或dmesg没有找到与加载模块时对应的任何内容。我的内核是 Fedora 17 的最新内核:3.8.4-102.fc17.x86_64。
更新:这可能是由于rts5139模块。它出现在lsmod但modinfo rts5139产生ERROR: Module rts5139 not found. 引导以前的内核 3.8.3-103.fc17.x86_64 时,此模块未列出lsmod并且内核未受污染(/proc/sys/kernel/taint为 0)。
我试过把这个模块列入黑名单
echo 'blacklist rts5139' >> /etc/modprobe.d/blacklist.conf
Run Code Online (Sandbox Code Playgroud)
但是重新启动仍然显示内核被污染。
我的笔记本电脑每天随机重启两次。它在重新启动之前显示以下错误日志。
.
不幸的是,我不知道如何解码机器检查异常 (MCE)。mcelog --ascii什么都不输出。这有可能是软件问题吗?
笔记本电脑是三星 NP900X3C,配备英特尔酷睿 i5-3317U 处理器。我使用带有 3.13.5 内核的 Arch Linux。
我正在尝试将 Qemu 添加到我的持续集成管道中以测试各种initrd工件。我已经发现我可以像这样运行 Qemu:
qemu-system-x86_64 \
-machine q35 \
-drive if=pflash,format=raw,file=OVMF_CODE.fd,readonly \
-drive if=pflash,format=raw,file=OVMF_VARS.fd \
-kernel vmlinuz-4.4.0-121-generic \
-initrd my-initramfs.cpio.xz \
-nographic
Run Code Online (Sandbox Code Playgroud)
...如果我在脚本中执行此操作,则会导致qemu-system-x86_64退出状态:0init
# poweroff -f
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为 init 脚本不会退出——它会poweroff -f“永远”调用和休眠,或者直到 Qemu 执行“断电”:
ACPI: Preparing to enter system sleep state S5
reboot: Power down
Run Code Online (Sandbox Code Playgroud)
我希望能够init通过强制执行exit错误来检测脚本中的问题set -eu。退出init脚本(正确)会导致内核崩溃,但qemu-system-x86_64进程永远挂起。
我怎样才能让它永远挂起来?如何让 Qemu 主机检测 Qemu 来宾中的内核崩溃?
进一步澄清:
我的应用程序的性质是安全敏感的;即,“允许”配置/编译 linux 内核,但不允许传递内核参数。把它放在一个很好的点上,CMDLINE_OVERRIDE启用。
kernel-panic ×10
linux-kernel ×3
kernel ×2
linux ×2
linux-mint ×2
boot ×1
crash ×1
distros ×1
fedora ×1
freeze ×1
gentoo ×1
hardware ×1
init-script ×1
laptop ×1
logs ×1
mcelog ×1
memory ×1
networking ×1
qemu ×1
ubuntu ×1