服务需要长时间稳定运行,但有时会发生核心服务崩溃的问题。为了能够快速定位崩溃的原因,我们需要生成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权限,此时需要输入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 文件(xxxx是一个数字),这个文件就是用来进行崩溃分析的core dump文件。

请将这个文件压缩后发送给我们进行分析。