首页 > 编程知识 正文

opensubwnd脚本函数的作用,linux对时命令

时间:2023-05-03 18:11:21 阅读:156947 作者:3591

0、Kdump的概念出现在2005年左右,是迄今为止最可靠的内核导出机制,已经被主要的linux制造商所选择

lkcd (linuxkernelcrashdump,netdump,磁盘dump已经嵌入到LDPS ) Linux文档站项目(LDPS )内核中。 SUSE和RedHat为kdump提供技术支持。

1、kdump是用于在系统崩溃、死锁或死机时转储内存运行参数的工具和服务;

2、安装配置

安装: sudo apt-getinstalllinux-crash dump Ubuntu版本

配置/etc/kdump.conf文件并指定转储vmcore的路径。 可以通过scp复制到其他服务器,也可以复制到原始设备或本地文件系统。

启动kdump服务:服务kdump start

调整内存大小

确认调整是否成功

内核存储更新

重新启动有效

查看kdunp的状态

触发器:可以使用kexec加载内核镜像,以便系统准备捕获崩溃时生成的vmcore。 可以用sysrq强制系统崩溃

此图是一个失败的情况,成功的出发kdump系统将重新启动。

echo 'c' /proc/sysrq-trigger

结果,kernel panic在系统重新启动后重新启动了kdump内核。 启动过程进入kdump服务器启动后,vmcore将被复制到/etc/kdump.conf文件中指定的位置

注:如果系统崩溃,kdump将使用kexec启动到第二个内核。 第二个内核通常称为捕获内核,它在小内存中启动并捕获转储镜像。

3、配置转储用保留内存

对于i386和x86_64架构,请编辑/etc/grub.conf启动配置文件,并将crashkernel=128@16M添加到内核行的末尾。 示例:

root (hd0,0 ) kernel/boot/vmlinuz-2.6.17-1.2519.4.21.el5 ro root=label=/rhgbquietcrashkernel=128 m

从16米开始的128米内存不用于普通系统,而是保留用于捕获内核。 请注意,在free -m的输出中,内存比不添加参数时少128米。 这一点备受期待。

注意:虽然可以使用小于128米,但事实证明,仅使用64M进行测试是不可靠的。

4、如何访问捕获存储器

内核崩溃之前,有关核心映像的所有必需信息都将以ELF格式进行编码,并存储在保留的内存区域中。 包含ELF标头的物理地址作为命令行参数(fcorehdr=)传递到新启动的转储核心。

i386体系结构要求在启动时使用物理内存中的640K,而不管操作系统内核的目标是什么。 因此,重新启动第二个内核时,kexec将备份此640K区域。

在第二个内核中,可以通过以下两种方式访问“上一个系统的内存”:

通过/dev/oldmem的设备接口。

“捕获”设备可以通过“原始”方法“读取”设备文件并将其导出为文件。 这是内存的“原始”数据转储。 这些分析和捕获工具还必须“聪明”,足以知道从何处获取正确的信息。 ELF文件标头(通过命令行参数传递的elfcorehdr )可能会有帮助。

通过/proc/vmcore。

此方法可以将转储输出到ELF格式的文件,并使用cp、scp等文件复制命令读取信息。 同时,gdb能够在所获取的转储文件中进行一些调试。 这将确保内存中的页面以正确的方式保存(请注意,内存中的前640K已重新映射)

5、关于卸料芯

如果需要引导系统内核,可以使用以下过程和命令加载转储捕获内核。

kexec-p---initrd=---args-Linux---append=' root=init1IRQ poll '

装载转储捕获内核时的注意事项:

转储捕获内核必须是vmlinux格式的图像或未压缩的ELF图像文件,而不是bzImage格式。

默认情况下,ELF文件头以ELF64格式存储,支持内存至少为4GB的系统。 但是,您可以指定"--ELF32-core-headers "标志以强制使用ELF32格式的elf文件头。 这个标志需要注意。 一个重要原因是当前版本的GDB无法在32位系统上打开使用ELF64格式的vmcore文件。 ELF32格式的文件头不可用于“无物理地址扩展”(non-PAE )系统。 也就是说,是内存小于4GB的系统。

可以使用“irqpoll”启动参数来降低由于在转储捕获内核中使用了“共享中断”技术而导致驱动器初始化失败的概率。

必须指定。 指定的格式是和根设备的名称。 具体可以看到mount命令的输出; " init 1"命令将启动转储捕获内核并进入无网络支持的单用户模式。 需要网络支持时,请使用“init 3”。

redhat和susue的流程图如下所示

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。