我让Red Hat Linux机器的核心转储(vmcore)接管了原始磁盘分区。将生成vmcore,我可以在串行控制台输出中看到它。我使用echo c > /proc/sysrq-trigger触发了核心转储过程,但不知道如何分析它。
在/etc/kdump.conf文件中指定的选项为"raw /dev/sda5"。我之前已经使用fdisk命令创建了/dev/sda5分区,并给出了转储文件的位置。我还做了其他事情,比如为崩溃保留内存等。
在谷歌上搜索一下,得到的信息如下:
“原始磁盘分区和专用文件系统选项允许您仍然转储到本地系统,但不必重新挂载可能已损坏的文件系统,从而降
几乎每天我的服务器由于服务器负载较高而崩溃,甚至重新启动apache或mysql也无法解决这个问题。我需要重新启动服务器来解决问题,否则它会因为负载太高而再次崩溃。
日志系统在崩溃时会记录类似的内容:
Aug 11 18:33:53 server kernel: INFO: task httpd:20008 blocked for more than 120 seconds.
Aug 11 18:33:53 server kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this mes
我试图使用kdump和崩溃实用程序来分析openSUSE 11.3上的Linux内核恐慌。系统正在成功地创建vmcore文件,但是当我去分析它时,crash抱怨缺少符号。
# crash -s vmlinux-2.6.34-12-desktop.gz vmcore
crash: vmlinux-2.6.34-12-desktop.gz: no debugging data available
crash: vmlinux-2.6.34-12-desktop.debug: debuginfo file not found
crash: either install the appropriat
Linux需要一个可写的文件系统才能正常工作吗?我只是在运行一个非常简单的初始化程序。目前我没有挂载任何分区。内核已将根分区挂载为只读。只要我坚持使用mallocs、readline和text to standard out (puts),Linux是否被设计为能够与只读文件系统一起运行,或者Linux是否需要一个可写的文件系统才能执行标准的文本输入和输出?
我这样问是因为我似乎得到了内核的恐慌和对堆栈的抱怨。我现在不想运行一个有用的系统。我已经在另一个分区上有一个有用的系统。我试着让它尽可能简单,这样我就可以在添加额外的复杂性之前完全理解事情。
我运行的是一个相当标准的x86-64桌面。
我是一个相对较新的zsh用户,并且99%的时间喜欢它。当我试图复制一堆文件时(如:
[I] ➜ ls *17*
core.txt.17 info.17 vmcore.17.zst
但当我scp *17* xxx:xxx/xxx时,我得到:
[I] ➜ scp *17* freefall.freebsd.org:
*17*: No such file or directory
ler in /var/crash at borg
[I] ➜
为什么?
如果我运行type scp,我会得到:
scp is an alias for noglob scp
scp is /usr/
我的系统崩溃了,尽管在查看了通常的日志之后,我仍然无法知道造成崩溃的原因:消息、dmesg、安全等等。我在这些日志上没有看到任何有价值的东西,所以我决定按照教程来运行崩溃应用程序,看看可能发生了什么。
每次我用:
$ sudo crash System.map-3.10.0-123.el7 vmlinuz-3.10.0-123.el7 vmcore
我得到以下错误:crash: vmlinuz-3.10.0-123.el7: not a supported file format
这是输出:
crash 7.0.9-5.el7_1
Copyright (C) 2002-2014 Red Ha
当我跑的时候
[bin]$ perf mem record
I get
failed: event 'cpu/mem-stores/P' not supported
bin]$ uname -a
Linux 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
bin]$ perf --version
perf version 3.10.0-693.21.1.el7.x86_64.debug
有没有办法让我找出为什么会出现这个错误?它是否受到p
我知道"perf“工具需要与特定linux内核版本相对应的安装。我知道所有的docker映像都运行在相同的linux内核版本中,而不管linux发行版。
我在坞内使用ubuntu16.04,并且已经安装了linux工具-常见的,start perf告诉我,我仍然缺少一些软件包:‘
# perf
/usr/bin/perf: line 32: lsb_release: command not found
WARNING: perf not found for kernel 4.9.12
You may need to install the following packages f