疯狂GC的第二种处理方式-ChatGPT的学习之四

疯狂,gc,第二种,处理,方式,chatgpt,学习 · 浏览次数 : 22

小编点评

**疯狂GC的第二种处理方式-ChatGPT的学习之四摘要** 该脚本使用 ChatGPT 来分析 GC 信息,并根据其语法判断是否需要重启 GC 服务。 **脚本步骤:** 1. 获取最近一次的 FullGC 的次数。 2. 获取距离现在一分钟时的 FullGC 的次数。 3. 计算时间差值。 4. 判断时间差值是否大于 1,如果大于 1,则执行重启操作。 5. 打印重启服务的脚本和信息。 **脚本关键代码:** ```bash gctime=$(($timenow - $timebefore)) if [ $gctime -gt 1 ]; then # 执行重启操作 echo "如果数值为0 请重新进行获取gcutil" gctime=$(($timenow - $timebefore)) echo "本次范围内的GC次数为:$gctime" if [ $gctime -gt 1 ]; then # 执行关闭服务的脚本 echo "执行关闭服务的脚本, 并且将gc信息置空, 可以进行一下备份" echo "" sleep 10 # 重启服务 fisleep 60 # 停顿一分钟进行检查 echo "停止一分钟进行检查" fi fi ``` **注意事项:** * 该脚本需要在执行之前运行 `gcutil` 命令,并确保 `gcutil` 是在运行时可运行的命令。 * 该脚本仅用于测试环境,在生产环境中可能需要进行调整。

正文

疯狂GC的第二种处理方式-ChatGPT的学习之四


摘要

上一个脚本太复杂了.
而且要改启动脚本.
课间休息跟人扯淡聊起来 chatGPT 发现他的语法很有用
但是思路不太对.

不过突然根据文档里写的想到了一个新的思路. 

获取GC信息

while true
  date >> /zhaobsh/gcutil 
  jstat -gcutil `jps |grep caf |awk '{print $1}' |head -n 1 ` 1000 1 >> /zhaobsh/gcutil
done

获取最近一次的 FullGC的次数

timenow=$(cat /zhaobsh/gcutil |grep FGCT -A 1|grep -v FGCT |awk '{print $9}' |grep -v '^$'  |tail -n 60  |tail -n 1)

获取距离现在一分钟时的FullGC的次数

timebefore=$(cat /zhaobsh/gcutil |grep FGCT -A 1|grep -v FGCT |awk '{print $9}' |grep -v '^$'  |tail -n 60  |head -n 1)

获取差值就可以

gctime=$(($timenow - $timebefore)
echo $gctime

判断处理

如果 gctime > 1
说明最后一分钟有两次以上的FullGC的.

可以执行重启操作. 

整体脚本好像也挺复杂的...

整体脚本

while true
do
timenow=$(cat /zhaobsh/gcutil |grep FGCT -A 1|grep -v FGCT |awk '{print $9}' |grep -v '^$'  |tail -n 60  |tail -n 1)
timebefore=$(cat /zhaobsh/gcutil |grep FGCT -A 1|grep -v FGCT |awk '{print $9}' |grep -v '^$'  |tail -n 60  |head -n 1)

timenow=${timenow:-0}
timebefore=${timebefore:-0}
echo $timenow 
echo "如果数值为0 请重新进行获取gcutil"
gctime=$(($timenow - $timebefore))
echo "本次范围内的GC次数为:"
echo $gctime
if [ $gctime -gt 1 ]
then
echo "执行关闭服务的脚本, 并且将gc信息置空, 可以进行一下备份"
echo " " > /zhaobsh/gcutil
sleep 10
echo "重启服务"
fi
sleep 60
echo "停顿一分钟进行检查"
done

与疯狂GC的第二种处理方式-ChatGPT的学习之四相似的内容:

疯狂GC的第二种处理方式-ChatGPT的学习之四

# 疯狂GC的第二种处理方式-ChatGPT的学习之四 ## 摘要 ``` 上一个脚本太复杂了. 而且要改启动脚本. 课间休息跟人扯淡聊起来 chatGPT 发现他的语法很有用 但是思路不太对. 不过突然根据文档里写的想到了一个新的思路. ``` ## 获取GC信息 ``` while true d

遇到疯狂GC时进行判断然后重启服务的方法-GPT学习使用之三

# 遇到疯狂GC时进行判断然后重启服务的方法-GPT学习使用之三 ## 背景 ``` 最近怀疑产品遇到了第三方组建的bug Groupdocs转换渲染某些文件时出现了严重的FullGC的情况 而且出现的奇怪的功效学GC ergonomics 的提示 因为不好发现, 所以同事想通过遇到异常时自动进行重

R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图

本文介绍基于R语言中的readxl包与ggplot2包,读取Excel表格文件数据,并绘制具有多个系列的柱状图、条形图的方法~

Python按条件筛选、剔除表格数据并绘制剔除前后的直方图

本文介绍基于Python语言,读取Excel表格文件数据,以其中某一列数据的值为标准,对于这一列数据处于指定范围的所有行,再用其他几列数据的数值,加以数据筛选与剔除;同时,对筛选前、后的数据分别绘制若干直方图,并将结果数据导出保存为一个新的Excel表格文件的方法~

tensorflow学习率指数衰减ExponentialDecay的参数介绍与使用方法

本文介绍在tensorflow库中,用于动态调整神经网络的学习率的一种方法——指数衰减ExponentialDecay()策略的参数含义及其具体用法~

SMOTE与SMOGN算法R语言代码

本文介绍基于R语言中的UBL包,读取.csv格式的Excel表格文件,实现SMOTE算法与SMOGN算法,对机器学习、深度学习回归中,训练数据集不平衡的情况加以解决的具体方法~

R语言将多景遥感影像拼接在一起的方法

本文介绍基于R语言中的raster包,遍历文件夹,读取文件夹下的大量栅格遥感影像,并逐一对每一景栅格图像加以拼接、融合,使得全部栅格遥感影像拼接为完整的一景图像的方法~

基于FileZilla上传、下载服务器数据的方法

本文介绍FileZilla软件的下载、配置与使用方法。 在之前的博客中,我们提到了下载高分遥感影像数据需要用到FTP(文件传输协议,File Transfer Protocol)软件FileZilla;这一软件用以在自己的电脑与服务器之间相互传输数据,在进行下载科学数据、网站开发等等操作时,经常需要

ENVI无缝镶嵌、拼接栅格数据的方法

本文介绍基于ENVI软件,利用“Seamless Mosaic”工具实现栅格遥感影像无缝镶嵌的操作。 在遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法这篇文章中,我们介绍了在ENVI软件中通过“Pixel Based Mosaicking”工具实现栅格遥感影像的

核对不同文件夹所含内容的差异并提取缺失内容:Python代码

本文介绍基于Python语言,以一个大文件夹作为标准,对另一个大文件夹所包含的子文件夹或文件加以查漏补缺,并将查漏补缺的结果输出的方法~