我们正在尝试在 Ubuntu 10.04 上调试内核恐慌/oops。堆栈跟踪对我们来说还不够。我们如何配置系统以吐出核心转储以及崩溃后我们在哪里可以找到它?
有很多关于如何获取用户模式核心转储的信息,但关于获取内核核心转储的信息很少(或旧的)。
LKCD存在,但看起来好像自 2002 年以来就没有更新过。
我在 lucid 中遇到了与股票内核 2.6.32 相关的错误,所以我想升级到 2.6.35。这样做的最简单方法是什么?
我已经在华硕 1015 上网本上安装了 ubuntu。除了无线适配器之外,所有东西都是开箱即用的,我必须使用附加驱动程序应用程序安装它。
它显然安装良好并连接到我们的无线网络,但它只能在“有趣”的速度范围内工作,在最佳时刻从 367 字节到 3 KB 的峰值。我确信问题既不是网络也不是硬件。这台笔记本电脑和其他装有 ubuntu 的计算机在 windows 下的网络速度是正常的。
lspci 说该卡是 BCM4313 型号,但附加驱动程序经理说
these packecege contains Broadcom 802.11 Linux STA wireless driverfor use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322 based hardware
好像安装了错误的驱动程序...有什么我可以做的吗?我不关心编译驱动程序或类似的东西,但我不确定从哪里开始......任何帮助或指导将非常非常感谢。
关于内核和向后移植,我注意到一个向后移植的内核可用于 10.04 LTS 版本,比 10.10 中的尖端内核稍旧。他们缺乏向后移植的任何原因?(尽管当前向后移植的 lucid 内核是 2.6.35,>= 2.6.36 是更新的,并且似乎在 10.10 和更高版本的存储库中)
是否有工具可以监控哪些进程打开了系统上的哪些文件,以便您可以跟踪哪个进程不断接触特定文件?
lsof 可以确定您是否在进程打开文件时运行它,但如果它是一个短暂的进程,每隔一段时间运行一次,则无法使用 lsof 捕获它。需要使用内核跟踪的东西。
现在,这是我第一次在我只能远程访问(即不能物理访问)的系统上遇到内核崩溃。我遇到的内核恐慌基本上就是这里描述的那个,只是内核版本是:
Pid: 15483, comm: kvm Not tainted 2.6.32-30-server #59-Ubuntu MS-7522
Run Code Online (Sandbox Code Playgroud)
该系统是 Ubuntu 10.04,我一直在使用 ksplice 以确保其安全而无需重新启动。
整个恐慌显然有效地导致了一个反应迟钝的系统。由于它运行虚拟机,这是不可接受的。现在,我的问题是:有没有办法配置系统(例如通过sysctl.conf
)在遇到内核崩溃时自动重启?如果有这样的选项,但不建议使用它,请提供有关为什么不推荐使用它的指示或信息,以便我可以做出明智的决定,是使用它还是避免使用它。
供您参考,下面是 syslog 的摘录:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffffa0339e6a>] gfn_to_rmap+0x2a/0x80 [kvm]
PGD 182eff067 PUD 2103cd067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
CPU 2
Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs ksplice_a2zjpxfc ksplice_aeduoyr1 ksplice_ocpqubki ksplice_koav9q4r_vmlinux_new ksplice_koav9q4r …
Run Code Online (Sandbox Code Playgroud) 我已经编辑/etc/security/limits.conf
并将第一行更改为
#<domain> #<type> #<item> #<value>
* soft core unlimited
Run Code Online (Sandbox Code Playgroud)
但是vmware.log
VMware Workstation 的仍然说:
No core dump taken. The core dump size limit is zero.
Run Code Online (Sandbox Code Playgroud)
还有其他设置我应该修改吗?谢谢。
我使用的是 Ubuntu 11.04 64 位,2.6.38-generic。
我正在制作一个 Ubuntu 衍生产品,我想让 noatime 成为所有文件系统的默认挂载选项(而不是 Ubuntu 中默认的 relatime)。
似乎有一个布尔default_relatime
内核参数用于在默认为 atime 或 relatime 之间切换(也可以通过写入 /proc/sys/kernel/default_relatime),但我找不到 noatime 的等效项,我不知道如何默认情况下在发行版中启用它。
如何配置以立即将数据记录到pendrive?建议有一种方法可以通过 udev 添加 noatime 挂载参数,但我不知道这是否适用于内部媒体以及如何操作。
使内核默认为 noatime 的侵入性最小的方法是什么?
可以使用“cat /proc/mounts”查看当前默认值,因为它甚至显示隐式挂载参数;不要相信“坐骑”。
是的,我读过使用 noatime 调整 Ext4 是否值得?我仍然想这样做。
可能的重复:
有没有办法删除/隐藏旧的内核版本?
在我的笔记本电脑上,我的空间有限,但安装了所有新更新,包括内核更新。但是,Ubuntu 在安装新内核更新后似乎不会卸载旧内核。我想这是有原因的:因为新内核可能会失败,如果 GRUB 提供一种选择旧内核来引导的方法,那就太好了。但是我真的需要整个历史吗?我想不需要!:
rc linux-image-2.6.32-21-generic
rc linux-image-2.6.32-24-generic
rc linux-image-2.6.32-25-generic
rc linux-image-2.6.35-22-generic
rc linux-image-2.6.35-23-generic
rc linux-image-2.6.35-24-generic
rc linux-image-2.6.35-25-generic
rc linux-image-2.6.35-27-generic
rc linux-image-2.6.35-28-generic
rc linux-image-2.6.35-30-generic
rc linux-image-2.6.38-10-generic
rc linux-image-2.6.38-11-generic
ii linux-image-2.6.38-12-generic
rc linux-image-2.6.38-8-generic
ii linux-image-3.0.0-12-generic
ii linux-image-3.0.0-13-generic
ii linux-image-3.0.0-14-generic
ii linux-image-3.0.0-15-generic
ii linux-image-3.0.0-16-generic
ii linux-image-generic
Run Code Online (Sandbox Code Playgroud)
我认为apt-get autoremove
应该至少删除其中一些图像,但事实并非如此。我现在将手动删除它们,但是没有办法自动执行此操作并保留最后三个图像吗?是的一个shell脚本和一份cron
工作!任何替代方案?
我将我的笔记本电脑 (Ubuntu) 更新到 11.10,我不知道出了什么问题,当我重新启动计算机时它会启动,它只会告诉我。
内核恐慌未同步 vfs 无法在未知块上挂载 root fs oo 交换器未受污染...
我是一个新用户,我不知道该怎么做。有任何想法吗?
kernel ×10
10.04 ×3
filesystem ×2
backport ×1
broadcom ×1
command-line ×1
derivatives ×1
drivers ×1
eeepc ×1
kvm ×1
mount ×1
udev ×1
wireless ×1