Linux 下也有众多的内存转储分析工具,lcrash、Alicia、Crash。Crash 是由 Dave Anderson 开发和维护的一个内存转储分析工具,目前它的最新版本是 5.0.0。 在没有统一标准的内存转储文件的格式的情况下,Crash 工具支持众多的内存转储文件格式:
- Live linux 系统
- kdump 产生的正常的和压缩的内存转储文件
- 由 makedumpfile 命令生成的压缩的内存转储文件
- 由 Netdump 生成的内存转储文件
- 由 Diskdump 生成的内存转储文件
- 由 Kdump 生成的 Xen 的内存转储文件
等等
【1】命令格式
crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS]
1、namelist 是调试版本内核,即-g选项编译的,可以自己用源码加-g编译,可以到发行版网站下载kernel-debuginfo软件包,包含内核在/usr/lib/debug/lib/modules/内核版本/vmlinux;
2、memory-image 就是转存的某格式dump文件
【2】安装对应的kernel-debuginfo 和 软件包debug-info-common
可在对应发行版网址上下载安装包:这里以centos8为例:
http://debuginfo.centos.org/8/x86_64/Packages/
![572c82cea6ac8a830ad78179fd6a59fb.png](https://img-blog.csdnimg.cn/img_convert/572c82cea6ac8a830ad78179fd6a59fb.png)
![5417a5fffe99f97c1b4a4e6abc4f53d0.png](https://img-blog.csdnimg.cn/img_convert/5417a5fffe99f97c1b4a4e6abc4f53d0.png)
rpm -ivh kernel=debuginfo-common-xxx.rpm
rpm -ivh kernel=debuginfo-xxx.rpm