
# 怎样配置Linux分析工具：atop和kdump
#### 操作场景
本节操作介绍atop和kdump的配置方法。
不同的Linux版本使用的atop工具版本不同，因此配置方法稍微有所不同。
配置atop：
- [atop简介]
- [atop安装前准备]
- [CentOS 6系列操作系统配置atop]
- [CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop]
- [Ubuntu 16、Debian8系列操作系统配置atop]
- [Ubuntu 18、Debian 9系列操作系统配置atop]
- [Ubuntu 20、Debian 10系列操作系统配置atop]
- [Ubuntu 22/24系列操作系统配置atop]
- [Debian 11/12系列操作系统配置atop]
- [SUSE 15、SUSE 12系列操作系统配置atop]
- [Huawei Cloud EulerOS 2.0（HCE）系列操作系统配置atop]
- [使用源码方式安装（适用于CentOS Stream 8/9、openEuler、EulerOS等系列操作系统）]
- [分析atop日志]
- [（可选）加载netatop内核模块]
配置kdump：
- [配置kdump使用须知]
- [kdump简介]
- [配置kdump操作步骤]
- [检查kdump配置是否生效]
 
 #### atop简介
atop是一款用于监控Linux系统资源与进程的工具，它以一定的频率记录系统的运行状态，所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况，并能以日志文件的方式保存在磁盘中，服务器出现问题后，可获取相应的atop日志文件进行分析。
 #### atop安装前准备
需要弹性公网IP且能访问yum软件源。
#### 约束与限制
使用atop工具对节点资源信息监控会占用少量的CPU核和内存进行系统资源的收集并占用部分磁盘空间记录日志，日志路径为/var/log/atop。
 #### CentOS 6系列操作系统配置atop
1. 执行以下命令，安装atop。 **yum install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/sysconfig/atop**
   修改如下配置参数，修改后保存并退出。
   LOGINTERVAL默认是600，可以修改成15，单位秒。
   ```
   LOGINTERVAL=15
   ```
   **vi /etc/logrotate.d/atop**
   修改如下配置参数，修改后保存并退出。
   默认atop日志保存周期为40天，可以根据实际修改"-mtime"的值为3，单位为天。
   ```
   postrotate
         /usr/bin/find /var/log/atop/ -maxdepth 1 -mount -name atop_\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\* -mtime +3 -exec /bin/rm {} \;
       endscript
   ```
   
3. 启动atop服务。 **service atop start**
   
4. 检查是否启动成功，is running 表示运行正常。 **service atop status**
   ```
   atop (pid 3170) is running
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **service atop stop**
   
 
 #### CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
1. 执行以下命令，安装atop。 **yum install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/sysconfig/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15
   LOGGENERATIONS=3
   ```
   

3. 启动atop服务。 **systemctl enable --now atop atopacct atop-rotate.timer**
   
4. 检查是否启动成功，atop atopacct是 active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### Ubuntu 16、Debian8系列操作系统配置atop
1. 执行以下命令，安装atop。 **apt-get install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，不支持修改。
   
   
   ```
   LOGINTERVAL=15
   ```
   

3. 启动atop服务。 **systemctl start atop**
   
4. 检查是否启动成功，active(running) 表示运行正常。 **systemctl status atop**
   ```
   atop.service - Atop advanced performance monitor 
   Loaded: loaded (/etc/init.d/atop; bad; vendor preset: disabled) 
   Active: active (running)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl stop atop**
   
 
 #### Ubuntu 18、Debian 9系列操作系统配置atop
1. 执行以下命令，安装atop。 **apt-get install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /usr/share/atop/atop.daily**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改"-mtime"的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15
   ……
   ( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +3 -exec rm {} \;)& )
   ```
   

3. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct**
   
4. 检查是否启动成功，active(running) 表示运行正常。 **systemctl status atop atopacct**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/etc/init.d/atop; enable; vendor preset: enabled)
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
   Active: active (running)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct**
   **systemctl stop atop atopacct**
   
 
 #### Ubuntu 20、Debian 10系列操作系统配置atop
1. 执行以下命令，安装atop。 **apt-get install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15
   LOGGENERATIONS=3
   ```
   

3. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct**
   
4. 检查是否启动成功，active(running) 表示运行正常。 **systemctl status atop atopacct**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/etc/init.d/atop; enable; vendor preset: enabled)
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
   Active: active (running)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct**
   **systemctl stop atop atopacct**
   
 
 #### Ubuntu 22/24系列操作系统配置atop
1. 执行以下命令，安装atop。 **apt-get install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15 
   LOGGENERATIONS=3
   ```
   
3. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct atop-rotate.timer**
   
4. 检查是否启动成功，atop atopacct是 active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### Debian 11/12系列操作系统配置atop
1. 执行以下命令，安装atop。 **apt-get install -y atop**
   
2. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15 
   LOGGENERATIONS=3
   ```
   
3. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct atop-rotate.timer**
   
4. 检查是否启动成功，atop atopacct是 active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### SUSE 15、SUSE 12系列操作系统配置atop
1. 下载atop源码安装包。 **wget https://www.atoptool.nl/download/atop-2.6.0-1.src.rpm**
   
2. 执行以下命令安装源码atop。 **rpm -ivh atop-2.6.0-1.src.rpm**
   
3. 安装编译atop依赖软件包 **zypper -n install rpm-build ncurses-devel zlib-devel**
   
4. 执行以下命令编译atop **cd /usr/src/packages/SPECS**
   **rpmbuild -bb atop-2.6.0.spec**
   
5. 执行以下命令安装atop **cd /usr/src/packages/RPMS/x86_64**
   **rpm -ivh atop-2.6.0-1.x86_64.rpm**
   
6. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   修改如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGINTERVAL=15
   LOGGENERATIONS=3
   ```
   

7. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct atop-rotate.timer**
   
8. 检查是否启动成功，atop atopacct是 active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
9. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### Huawei Cloud EulerOS 2.0（HCE）系列操作系统配置atop
1. 执行以下命令，安装atop。 **yum install -y atop**
   
2. 设置采样周期。 HCE系统已经预设好采样周期，无需调整。默认采样周期10秒，日志保存3天。
   
3. 执行以下命令，启动atop服务。 **systemctl enable --now atop atopacct atop-rotate.timer**
   
4. 检查是否启动成功，atop atopacct是active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
5. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### 使用源码方式安装（适用于CentOS Stream 8/9、openEuler、EulerOS等系列操作系统）
1. 下载atop源码。 **wget https://www.atoptool.nl/download/atop-2.6.0.tar.gz**
   

2. 执行以下命令解压源码atop。 **tar -zxvf atop-2.6.0.tar.gz**
   
3. 执行以下命令查看systemctl版本。 **systemctl --version**
   如果版本大于等于220，直接进行下一步。
   否则需要修改atop的Makefile文件，删除--now参数。
   **vi atop-2.6.0/Makefile**
   删除systemctl命令后的--now参数
   ```
   then   /bin/systemctl disable  atop     2> /dev/null; \
                           /bin/systemctl disable  atopacct 2> /dev/null; \
                           /bin/systemctl daemon-reload;                   \
                           /bin/systemctl enable   atopacct;          \
                           /bin/systemctl enable   atop;              \
                           /bin/systemctl enable   atop-rotate.timer; \
   ```
   
4. 安装编译atop依赖软件包。
   - SUSE12、SUSE15系列操作系统执行以下命令安装： **zypper -n install make gcc zlib-devel ncurses-devel**
     
   
   - EulerOS、Fedora系列操作系统执行以下命令安装： **yum install make gcc zlib-devel ncurses-devel -y**
     
   
   - Debian9、Debian10、Ubuntu系列操作系统执行以下命令安装： **apt install make gcc zlib1g-dev libncurses5-dev libncursesw5-dev -y**
     
    
5. 执行以下命令编译并安装atop。 **cd atop-2.6.0**
   **make systemdinstall**
   
6. 编辑配置文件，修改采样周期。 **vi /etc/default/atop**
   添加如下配置参数，修改后保存并退出。
   - LOGINTERVAL默认是600，可以修改成15，单位秒。
   
   - 默认atop日志保存周期为28天，可以根据实际修改LOGGENERATIONS的值为3，单位为天。
   
   
   ```
   LOGOPTS=""
   LOGINTERVAL=15
   LOGGENERATIONS=3
   LOGPATH=/var/log/atop
   ```
   

7. atop是默认启动，需重启atop服务使配置生效。 **systemctl restart atop atopacct atop-rotate.timer**
   
8. 检查是否启动成功，atop atopacct是 active(running)表示运行正常，atop-rotate.timer是active(waiting) 表示运行正常。 **systemctl status atop atopacct atop-rotate.timer**
   ```
   atop.service - Atop advanced performance monitor
   Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atopacct.service - Atop process accounting daemon
   Loaded: loaded (/usr/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled) 
   Active: active (running) 
    
   atop-rotate.timer - Daily atop restart
   Loaded: loaded (/usr/lib/systemd/system/atop-rotate.timer; enabled; vendor preset: enabled) 
   Active: active (waiting)
   ```
   
9. atop运行会占用额外的系统和磁盘资源，您可在问题排查完成后，执行以下命令停止atop。 **systemctl disable atop atopacct atop-rotate.timer**
   **systemctl stop atop atopacct atop-rotate.timer**
   
 
 #### 分析atop日志
atop启动后，会将采集记录存放在/var/log/atop目录下的日志文件中。
执行如下命令，查看日志文件。
**atop -r /var/log/atop/atop_2024XXXX**
- **atop常用命令**
  打开日志文件后，您可以使用以下命令筛选数据。
  - c：按照进程CPU使用率进行降序筛选。
  
  - m：按照进程内存使用率进行降序筛选。
  
  - d：按照进程磁盘使用率进行降序筛选。
  
  - a：按照进程资源综合使用率进行降序筛选。
  
  - n：按照进程网络使用率进行降序筛选。
  
  - t：跳转到下一个监控采集点。
  
  - T：跳转到上一个监控采集点。
  
  - b：指定时间点，格式为YYYYMMDDhhmm。
    
- **系统资源监控字段含义**
  下图为部分监控字段以及数值，具体数值根据采样周期和atop版本有所不同。下图仅供参考，具体数据以您实际数据为准。
  图1系统资源监控字段   
  ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000001914323145.png "点击放大")
  主要参数说明如下：
  - ATOP 行：主机名、信息采样日期和时间点。
  
  - PRC 行：进程整体运行情况。
  
  - #sys 及 user：内核态和用户态所占 CPU 的时间值。
  
  - #proc：进程总数。
  
  - #zombie：僵死进程的数量。
  
  - #exit：采样周期期间退出的进程数量。
  
  - CPU 行：CPU 整体（即多核 CPU 作为一个整体 CPU 资源）的使用情况。CPU 行的各字段数值相加结果为 N\*100%，N 为 CPU 核数。
  
  - #sys 及 user：内核态和用户态所占 CPU 的时间比例。
  
  - #irq：CPU 被用于处理中断的时间比例。
  
  - #idle：CPU 处在完全空闲状态的时间比例。
  
  - #wait：CPU 处在进程等待磁盘 IO ，导致 CPU 空闲状态的时间比例。
  
  - CPL 行：CPU 负载情况。
  
  - #avg1、avg5 和 avg15：过去1分钟、5分钟和15分钟内运行队列中的平均进程数量。
  
  - #csw：指示上下文交换次数。
  
  - #intr：指示中断发生次数。
  
  - MEM 行：内存的使用情况。
  
  - #tot：物理内存大小。
  
  - #free：空闲的物理内存大小
  
  - #cache ：用于页缓存的内存大小。
  
  - #buff：用于文件缓存的内存大小。
  
  - #slab：系统内核占用的内存大小。
  
  - SWP 行：交换空间的使用情况。
  
  - #tot：交换区总量。
  
  - #free：空闲交换空间大小。
  
  - DSK 行：磁盘使用情况，每一个磁盘设备对应一列。如果有 sdb 设备，那么增加一行 DSK 信息。
  
  - #sda：磁盘设备标识。
  
  - #busy：磁盘忙时比例。
  
  - #read 及 write：读、写请求数量。
  
  - NET 行：多列 NET 展示了网络状况，包括传输层（TCP 和 UDP）、IP 层以及各活动的网口信息。
  
  - #xxxxxi：各层或活动网口收包数目。
  
  - #xxxxxo：各层或活动网口发包数目。
    
 
 #### （可选）加载netatop内核模块
netatop内核模块能够监测每个进程或线程发送和接收的TCP及UDP数据包统计信息。在atop中，netatop未默认安装。如需监测网络使用率，可参考本示例进行安装。
本示例以Huawei Cloud EulerOS 2.0系统为例，为您展示如何为atop加载netatop内核模块。
如需在其他Linux操作系统加载netatop内核模块，请参考atop官方帮助文档。详细内容，请参见[Module netatop](https://www.atoptool.nl/downloadnetatop.php)。
1. 执行以下命令，为当前内核安装内核开发包及编译所需软件环境。 **sudo yum install -y kernel-devel dkms elfutils-libelf-devel**
   
2. 执行以下命令，下载最新版本netatop源码至指定目录。 **cd /usr/src/ \&\& sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz --no-check-certificate**
   
3. 执行以下命令，解压源码并进入源码目录。 **sudo tar -zxvf netatop-3.2.2.tar.gz \&\& cd netatop-3.2.2**
   
4. 执行以下命令，基于源码构建并安装模块和守护程序。 **sudo make \&\& sudo make install**
   
5. 执行以下命令，启动netatop服务。 **systemctl start netatop**
   
 
 #### 配置kdump使用须知
配置kdump的操作适用于EulerOS以及CentOS 7系列Linux产品， 且云服务器的虚拟化类型为KVM。[了解更多](https://www.kernel.org/doc/Documentation/kdump/kdump.txt)
 #### kdump简介
kdump是系统崩溃的时候，用来转储运行内存的一个工具。系统一旦崩溃，内核就无法正常工作了，这个时候将由kdump提供一个用于捕获当前运行信息的内核，该内核会将此时内存中的所有运行状态和数据信息收集到一个dump core文件中以便之后分析崩溃原因。
 #### 配置kdump操作步骤
1. 查看是否已经安装kexec-tools。 **rpm -q kexec-tools**
   如果没有安装，则执行下面命令安装。
   **yum install -y kexec-tools**
   
2. 开启kdump默认启动。 **systemctl enable kdump**
   
3. 设置crashkernel参数，设置这个参数的目的是预留内存给capture kernel。 首先查看参数是否已经设置。
   **grep crashkernel /proc/cmdline**
   如果有显示，则表示已经设置，如果没有显示，则需要重新设置。
   设置crashkernel，编辑/etc/default/grub文件。
   ```
   GRUB_TIMEOUT=5
   GRUB_DEFAULT=saved
   GRUB_DISABLE_SUBMENU=true
   GRUB_TERMINAL_OUTPUT="console"
   GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap
   rhgb quiet"
   GRUB_DISABLE_RECOVERY="true"
   ```
   找到GRUB_CMDLINE_LINUX参数，添加crashkernel=auto，其他内容不变。
   
4. 执行grub命令，使以上配置生效。 **grub2-mkconfig -o /boot/grub2/grub.cfg**
   
5. 打开/etc/kdump.conf文件中找到"path"参数，添加以下内容。
   ```
   path  /var/crash
   ```
   默认是保存在/var/crash目录下，如果要保存到其他目录，则改成对应的目录，
   例如保存在/home/kdump下，则改成：
   ```
   path  /home/kdump
   ```
   ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
   要确保指定的路径有足够的空间保存vmcore，建议剩余空间不小于RAM大小；也可以保存在SAN，nfs等共享设备上。
   
6. 设置转存vmcore级别。 修改/etc/kdump.conf文件，添加如下参数，如果存在则无需添加。
   ```
   core_collector makedumpfile -d 31 -c
   ```
   -c表示压缩vmcore文件，
   -d表示过滤掉部分无效的内存数据，可以根据需要调整，一般31即可，31是由如下的值与计算而成。
   ```
   zero pages   = 1
   cache pages   = 2
   cache private = 4
   user  pages   = 8
   free  pages   = 16
   ```
   
7. 执行如下命令重启系统，使以上配置生效。 **reboot**
   
 
 #### 检查kdump配置是否生效
1. 执行以下命令，确认回显信息中crashkernel=auto **cat /proc/cmdline \|grep crashkernel**
   ```
   BOOT_IMAGE=/boot/vmlinuz-3.10.0-514.44.5.10.h142.x86_64 root=UUID=6407d6ac-c761-43cc-a9dd-1383de3fc995 ro crash_kexec_post_notifiers softlockup_panic=1 panic=3 reserve_kbox_mem=16M nmi_watchdog=1 rd.shell=0 fsck.mode=auto fsck.repair=yes net.ifnames=0 spectre_v2=off nopti noibrs noibpb crashkernel=auto LANG=en_US.UTF-8
   ```
   
2. 执行以下命令，并确认回显信息中的配置信息正确。 **grep core_collector /etc/kdump.conf \|grep -v \^"#"**
   ```
   core_collector makedumpfile -l --message-level 1 -d 31
   ```
   
3. 执行以下命令，并确认回显信息中的配置信息正确。 **grep path /etc/kdump.conf \|grep -v \^"#"**
   ```
   path /var/crash
   ```
   
4. 执行以下命令，并确认回显信息中的Active的状态为active (exited)。 **systemctl status kdump**
   ```
   ● kdump.service - Crash recovery kernel arming
   Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2019-04-09 19:30:24 CST; 8min ago
   Process: 495 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS)
   Main PID: 495 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/system-hostos.slice/kdump.service
   ```
   
5. 执行测试命令。 **echo c \> /proc/sysrq-trigger**
   这会触发kdump，重新启动，并将生成的vmcore文件保存的path参数指定的位置。
   
6. 检查vmcore是否生成。 到所在环境path参数所指定的路径查看是否有vmcore文件生成，例如/var/crash/目录。
   **ll /var/crash/**
   可以看到生成了一个文件夹，里面有vmcore文件。
   
 
