了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站
在前两篇中, 我们介绍了如何排查长时间运行的query, 以及如何在服务器上启用core generation。今天,我们来介绍下,如何收集进程的coredump进行排错。
1. 关于coredump的介绍
当程序异常或崩溃时,操作系统会中止进程,并将进程此时的内存中的内容拷贝到磁盘的指定目录下存储,生成一个core文件(是一个内存映像,同时加上调试信息),它记录了程序挂掉时详细的状态描述,以方便编程人员调试。
Greenplum什么情况下会生成coredump
当发生以下情况之一时, 就会产生coredump
- 由于硬件故障导致程序内部无法访问特定内容, 在某些情况下, 程序会发送终止信号给进程, 强制程序退出重启。
- 由于一些程序错误导致进程访问了错误的内存地址。
- 用户主动控制进程dump core文件, 这种操作一般用于排查故障, 这个之后会提到。
Greenplum集群的coredump在哪里?
如果需要