400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
在生产环境中,偶尔会因为程序 Bug 等其他未知原因而导致程序出 core。程序出 core 不仅仅会导致查询执行失败,更严重的可能会出现集群故障,所以生成的 core 文件是非常重要的现场信息,需要提供给开发人员跟踪追查。
packcore 工具用来为生成的 core 文件进行打包,以便开发人员调试跟踪。
packcore 是随 YMatrix 一同发布的 Python 工具, packcore 工具的位置在:
$GPHOME/sbin/packcore
$GPHOME/sbin
并不在环境变量中,所以需要通过绝对路径使用。
使用方法:
$GPHOME/sbin/packcore -b $GPHOME/bin/postgres postgres.core.4_1635732782.17213
其中:
-b $GPHOME/bin/postgres
指定可执行文件路径,因为工作进程都派生自 postgres master 进程postgres.core.4_1635732782.17213
是生成的 core 文件执行命令后,会在当前目录生成和 core 文件名相同的 .tgz
文件,将该文件提供给开发人员即可。里面包括了 core 文件和现场环境信息
使用 packcore 工具进行 core 文件打包的前提是需要操作系统生成 core 文件。
生成 core 文件需要修改如下配置:
设置 coredump 文件大小无限制:
ulimit -c unlimited
# 持久化方式
echo "ulimit -c unlimited" >> /etc/profile
vi /etc/sysctl.conf
然后增加 kernel.core_pattern=/home/mxadmin/%e.core.%s_%t
配置到末尾
执行 sysctl -p
使配置生效:
sysctl -p
该配置决定了 core 文件生成的位置和文件名模板,其中: