注册
部署达梦库时关于主机core文件需要特别注意的事项
专栏/技术分享/ 文章详情 /

部署达梦库时关于主机core文件需要特别注意的事项

会钓鱼的猫 2024/10/12 600 0 0
摘要

背景
core文件是程序异常时操作系统保留的完整进程的内存镜像文件,是分析问题最直接最重要材料,所以开启core并保留有效的core文件是必须的。一般core会比较大,我们该如何规划其所占的空间容量和磁盘速度(在实际使用中较为费心)?如何有效的保存core文件且不占用磁盘空间?如何防止由于磁盘空间不足导致 core文件被截断?
1.规划存放core文件的磁盘空间(core文件的大小)容量及速度
单个core文件的大小上限一般为数据库进程所占用内存(一般可以参考 top 命令中的 dmserver 进程对应的 virt 列内存),以此来考虑core文件存放的目录磁盘空间(一般virt约大于1.3倍的res),但一定要特别特别注意的是此磁盘速度一定要快(一般本地磁盘均可以),如果数据库进程内存使用过大,而磁盘写入速度性能较差时,会导致生成 core 文件时间非常漫长(正常core是约在几十秒钟),会影响实例的正常拉起动作,从而影响业务!
2.(麒麟v10)开启core及压缩的步骤如下

 1) vi  /etc/security/limits.conf 
      dmdba soft   core    unlimited
      dmdba hard   core    unlimited
     备注:以上是主机用户dmdba作为达梦软件的安装使用用户
 2)  vim /etc/sysctl.conf
     kernel.core_pattern = |/usr/bin/lz4 -z % - /dm/core-%p-%e-%t-%h.lz4
     备注:上边的core是放在/dm目录下并开启压缩模式(默认使用快速压缩,不要高效压缩,因为会影响core的时间),可自行更改所需要的目录。
 3)  sysctl -p   &&  sysctl -a | grep core_pattern
 4) 测试lz4解压后的文件使用gdb来调试其core正常。 

总结:
虽然压缩后的core是非常小的,但是在core的一瞬间仍是需要约占virt列的磁盘空间,所以一般我们是建议core文件的磁盘空间容量规划约为内存的1.2至2倍,并且磁盘速度一定要快!如果本地磁盘空间不够,可以选择速度足够快的存储阵列上。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服