21.4. 使用 gcore转储进程内存
内核转储调试的工作流允许分析程序的离线状态。在某些情况下,将这个工作流与仍在运行的程序配合使用时很有用,例如难以使用该进程访问环境时。您可以使用 gcore 命令转储仍在运行的任何进程的内存。
先决条件
步骤
使用 gcore 转储进程内存:
查找进程 id(pid)。使用
ps、pgrep 和top 等工具:$ ps -C some-program转储这个过程的内存:
$ gcore -o filename pid这会创建 文件名,并转储其中的进程内存。在内存被转储时,进程的执行将被停止。
- 内核转储完成后,进程会恢复正常执行。
创建 SOS 报告以提供有关系统的更多信息:
# sosreport这将创建一个 tar 存档,其中包含系统的相关信息,如配置文件副本。
- 将程序的可执行文件、核心转储和 SOS 报告传送到要进行调试的计算机。
- 可选:在传输内核转储和 SOS 报告以回收磁盘空间后,删除它们。
其他资源
- 知识库文章 - 如何在不重启应用程序的情况下获取核心文件?