Skip to content

CORE DUMP

Apex Liu edited this page Jun 23, 2017 · 5 revisions

服务需要长时间稳定运行,但有时会发生崩溃的问题。为了能够快速定位崩溃的原因,我们需要生成core dump文件以供分析。

对于TELEPORT的核心服务来说,要在崩溃时生成Core Dump文件,请SSH远程登录到teleport服务器上,然后执行:

$> su
$> /etc/init.d/teleport stop core
$> ulimit -c unlimited
$> /usr/local/teleport/bin/tp_core -d start

注意,请勿关闭此远程连接,直到崩溃发生!

命令解释:

  • su 以管理员身份登录,因为运行服务需要root权限;
  • /etc/init.d/teleport stop core 停止teleport核心服务;
  • ulimit -c unlimited 临时打开系统的core dump功能,使得程序崩溃时记录核心转储数据;
  • /usr/local/teleport/bin/tp_core -d start 运行core服务程序,但不是以守护进程的方式运行,因此程序不会在后台运行,可以在控制台上看到大量的日志输出,需要一直保留这个远程登录连接,不要退出。

然后像平常一样使用TELEPORT的各项功能,直到发生崩溃。此时应该能够看到控制台上最后输出的是(core dumped),然后在 /usr/local/teleport/bin 目录下应该能够看到core.xxxx文件,这个文件就是用来进行崩溃分析的core dump文件。