【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash 工具依赖内容】


请阅读:【Linux 维测及Crash使用专栏】


文章目录

    • Prerequisites
      • 1. 内核对象文件
      • 2. 内存镜像
      • 3. 平台处理器类型
      • 4. Linux 内核版本

在这里插入图片描述

Prerequisites

crash 工具需要依赖下面的内容:

1. 内核对象文件

  • vmlinux 文件:需要一个 vmlinux 内核对象文件,在本文中称为命名列表(namelist)。该文件必须使用 -g C 编译标志构建,以便包含符号调试所需的调试数据。
  • RHEL3 中的处理:在 RHEL3 的系统中,正在运行的内核对应的 vmlinux 文件被分割成两个文件:一个精简版位于 /boot 目录,文件名中附有操作系统的版本号,例如 vmlinux-2.4.21-4.elsmp。这个 /boot 中的精简文件包含一个链接,指向其关联的 debuginfo 文件,该文件位于 /usr/lib/debug/boot 目录。
  • RHEL4、RHEL5 和 RHEL6 中的处理:在这些系统中,vmlinux 文件是内核 debuginfo 包的一部分,位于 /usr/lib/debug/lib/modules/<release> 目录中。
  • 理想情况下:内核对象文件应与内存镜像文件关联。然而,如果与崩溃转储或实时系统关联的 vmlinux 文件未用 -g 标志构建,可以在调用部分中讨论的替代方案。

2. 内存镜像

  • 来源:可以是从支持的转储设施生成的内核崩溃转储文件,或通过 /dev/mem(在 RHEL4/5/6 中为 /dev/crash 驱动)访问的实时系统内存。
  • 默认行为:如果在 crash 命令行中没有提供转储文件参数,则默认使用实时系统内存。在检查实时系统时,需要 root 权限。

3. 平台处理器类型

  • 开发和测试crash 工具在 x86、x86_64、ia64、ppc64、Arm、s390 和 s390x 处理器上被积极开发和测试。
  • 遗留支持:虽然 crash 工具不再积极维护 alpha 和 32 位 PowerPC 平台,但仍提供遗留支持。

4. Linux 内核版本

  • 兼容性crash 工具向后兼容至少到 Red Hat 6.0(Linux 版本 2.2.5-15),一直到 Red Hat Enterprise Linux 5(Linux 版本 2.6.18+)。
  • 内核变化支持:由于上游内核内部结构的不断变化,不能保证立即支持最新的内核版本。然而,crash 工具不断进行修改,以支持上游内核版本的变化。目标始终是使该工具独立于 Linux 版本依赖,通过识别主要的内核代码变化,适应新内核版本,同时保持向后兼容性。

通过满足上述前提条件,crash 工具可以在多个平台和内核版本上有效地进行内核分析和调试,为开发人员提供强大的问题解决能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DICOM标准:核医学图像模块属性——核医学(Nuclear Medicine, NM)DICOM标准详解

目录 引言 1. NM 序列模块&#xff08;NM Sequence Module&#xff09; 1.1 NM序列模块属性 2. NM 设备模块&#xff08;NM Equipment Module&#xff09; 2.1 NM设备模块属性 3. NM 图像模块&#xff08;NM Image Module&#xff09; 3.1 NM图像模块属性 3.2 帧增量指针…

在VScode中配置C_C++环境

众所周知&#xff0c;VScode是一个轻量&#xff0c;简便&#xff0c;功能强大的编辑器&#xff0c;我们可以在里面编写各种各样的代码&#xff0c;但是在C/C代码编译运行的时候&#xff0c;我们需要对环境进行一些适配&#xff0c;废话不多说&#xff0c;请看下面的详细步骤。 …

前端Nginx的安装与应用

目录 一、前端跨域方式 1.1、CORS(跨域资源共享) 1.2、JSONP(已过时) 1.3、WebSocket 1.4、PostMessage 1.5、Nginx 二、安装 三、应用 四、命令 4.1、基本操作命令 4.2、nginx.conf介绍 4.2.1、location模块 4.2.2、反向代理配置 4.2.3、负载均衡模块 4.2.4、通…

【三角回文数——枚举】

题目 代码 #include <bits/stdc.h> using namespace std; bool is_palindrome(int num) {string t to_string(num);int l 0, r t.size() - 1;while (l < r){if (t[l] ! t[r--])return false;}return true; } bool is_tri(int num) {int t num * 2;for (int i 1;…

【面试经典150】day 11

目录 1.无重复字符的最长子串 2.串联所有单词的子串 3.最小覆盖子串 4.有效的数独 ​​​​​​​ 1.无重复字符的最长子串 class Solution {public int lengthOfLongestSubstring(String s) {//定义哈希表Map<Character,Integer> dictnew HashMap<>();int ret…

ArcGIS影像调色(三原色)三原色调整

本期主要介绍ArcGIS影像调色&#xff08;三原色&#xff09; ArcGIS影像调色&#xff08;三原色&#xff09;&#xff0c;对比度、亮度、gamma。红绿蓝三原色调整。 视频学习 ArcGIS影像调色&#xff08;三原色&#xff09;

默认路由:实现内网所有网段流量走一条默认路由访问外网

默认路由 Tip&#xff1a;默认路由一般指出口网关设备的出口路由。实现所有网段流量都走一条路由。 实验模拟&#xff1a;公司内部pc 通过出口网关 访问运营商内部 baidu服务 isp网关配置&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. …

Linux SSH免密登入以及配置脚本

一、ssh原理简单介绍 客户端生成一对公钥和私钥&#xff0c;并将自己的公钥发送到服务器上 其中公钥用来加密&#xff0c;私钥用来解密。 二、ssh免密登入实现步骤详解 我这就以服务器controller和客户端compute来做为例子 2.1、首先在controller上输入ssh-keygen -t rsa …

【大数据学习 | kafka】producer之拦截器,序列化器与分区器

1. 自定义拦截器 interceptor是拦截器&#xff0c;可以拦截到发送到kafka中的数据进行二次处理&#xff0c;它是producer组成部分的第一个组件。 public static class MyInterceptor implements ProducerInterceptor<String,String>{Overridepublic ProducerRecord<…

使用Mac如何才能提高OCR与翻译的效率

OCR与截图大家都不陌生&#xff0c;或许有的朋友对于这两项功能用到的不多&#xff0c;但是如果经常会用到的话&#xff0c;那你就该看看了 iOCR&#xff0c;快捷键唤出翻译窗口&#xff0c;不论是截图翻译、划词翻译、输入翻译、剪切板翻译&#xff0c;统统快捷键完成&#x…

Java面向对象 C语言字符串常量

1. &#xff08;1&#xff09;. package liujiawei;public class Phone {String brand;double price;public void call(){System.out.println("手机打电话");}public void play(){System.out.println("手机打游戏");} } public class phonetest {public…

Halcon-模板匹配(WPF)

halcon的代码 dev_open_window (0, 0, 512, 512, black, WindowHandle) read_image (Image, C:/Users/CF/Desktop/image.jpg) dev_display (Image)draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2) gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2) r…

Day02 C++ 环境设置

2024.11.1 C 环境设置 如果您想要设置 C 语言环境&#xff0c;需要确保电脑上有以下两款可用的软件&#xff0c;文本编辑器和 C 编译器。 一、文本编辑器 通过编辑器创建的文件通常称为源文件&#xff0c;源文件包含程序源代码。 C 程序的源文件通常使用扩展名 .cpp、.cp 或…

c++拷贝构造函数

1.拷贝构造函数 拷贝构造函数的调用时机 class A { public://默认构造函数A(){m_Hp 100;cout << "A默认构造函数调用完毕" << endl;}//有参构造函数A(int hp){m_Hp hp;cout << "A有参构造函数调用完毕" << endl;}A(const A&…

Node.js 完全教程:从入门到精通

Node.js 完全教程&#xff1a;从入门到精通 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;允许开发者在服务器端使用 JavaScript。它的非阻塞 I/O 和事件驱动架构使得 Node.js 非常适合于构建高性能的网络应用。本文将详细介绍 Node.js 的安装、基本语…

C++STL——list

C教学总目录 list 1、list简介2、构造函数3、迭代器4、访问和容量函数5、修改类函数6、操作类函数 1、list简介 list是带头双向循环链表&#xff0c;也是模板类&#xff0c;使用时要指明类型&#xff0c;包含于头文件<list> 由于list是双向循环链表&#xff0c;在任意位置…

大数据计算里的-Runtime Filter

文章目录 Runtime Filter示例 Runtime Filter 从纸面意义来看&#xff0c;就是程序在运行时&#xff0c;根据实际的数据去进行一些过滤操作。这和静态的规则优化不同&#xff0c;静态优化不考虑实现的数据的分布。 示例 select a.* ,b.* a join b on a.idb.id假设一下数据…

SD教程 ControlNet 之MLSD 室内设计

你是否已经厌倦了传统的室内设计方式&#xff0c;想探索新方法来增强作品设计感&#xff1f;本期小编就同大家分享一个新武器&#xff0c;用Stable Diffusion的ControlNet来打造一个室内设计全新工作流。无论你是经验丰富的室内设计师还是初学小白&#xff0c;都将使你的日常工…

蓬勃发展:移动开发——关于软件开发你需要知道些什么

一、前言 移动开发一直都是软件开发领域中最有趣的领域之一&#xff0c;这是因为&#xff1a; 1、移动开发为“只有一个人”的开发团队提供了一个非常独特的机会&#xff0c;让他可以在相对较短的时间内建立一个实际的、可用的、有意义的应用程序&#xff1b; 2、移动开发也代…

性能测试 —— MySQL性能测试方案设计!

01、慢查询 查看是否开启慢查询 mysql> show variables like %slow%’; 如图所示&#xff1a; 系统变量log_slow_admin_statements 表示是否将慢管理语句例如ANALYZE TABLE和ALTER TABLE等记入慢查询日志 启用log_slow_extra系统变量 &#xff08;从MySQL 8.0.14开始提…