searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

core文件回滚优化

2023-08-02 08:11:24
5
0

一、背景

core文件在极端情况下无限生成,而单个core文件达到几个G,导致算时间内占满内存,而使得机子宕机卡住,从而影响业务。

二、优化方案

使用定时任务在固定的时间执行一次回滚优化脚本,筛选出最后一次修改时间在5秒前的core文件,按顺序清理掉这些文件,只保留最新的一份core文件。

三、脚本代码

CORE_LOG_PATH=/logs    #日志前缀
#core文件绝对路径,筛选出最后一次修改时间是在5秒前的core文件,实际是0.08分钟(4.8)之前,略有误差
CORE_LOG=(`find $CORE_LOG_PATH -maxdepth 1 -regex ".*core-[0-9]*-[0-9]*$" -type f -mmin +0.08 |xargs ls -rt `)
#处理core文件,仅保留最新的2个core文件
total=${#CORE_LOG[@]}
if [ $total -gt 2 ];then
	for ((i=0;i<$(($total-2));i++))
	do
		CORE_LOG_FILE=${CORE_LOG[$i]}
		if [ ! -e $CORE_LOG_FILE ]; then
			continue
		fi
		#清理掉旧版本的core文件
		rm $CORE_LOG_FILE
	done
fi

 

0条评论
作者已关闭评论
yyyye
4文章数
0粉丝数
yyyye
4 文章 | 0 粉丝
原创

core文件回滚优化

2023-08-02 08:11:24
5
0

一、背景

core文件在极端情况下无限生成,而单个core文件达到几个G,导致算时间内占满内存,而使得机子宕机卡住,从而影响业务。

二、优化方案

使用定时任务在固定的时间执行一次回滚优化脚本,筛选出最后一次修改时间在5秒前的core文件,按顺序清理掉这些文件,只保留最新的一份core文件。

三、脚本代码

CORE_LOG_PATH=/logs    #日志前缀
#core文件绝对路径,筛选出最后一次修改时间是在5秒前的core文件,实际是0.08分钟(4.8)之前,略有误差
CORE_LOG=(`find $CORE_LOG_PATH -maxdepth 1 -regex ".*core-[0-9]*-[0-9]*$" -type f -mmin +0.08 |xargs ls -rt `)
#处理core文件,仅保留最新的2个core文件
total=${#CORE_LOG[@]}
if [ $total -gt 2 ];then
	for ((i=0;i<$(($total-2));i++))
	do
		CORE_LOG_FILE=${CORE_LOG[$i]}
		if [ ! -e $CORE_LOG_FILE ]; then
			continue
		fi
		#清理掉旧版本的core文件
		rm $CORE_LOG_FILE
	done
fi

 

文章来自个人专栏
网关网关
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0