服务器假死日志按时间统计排查
文章目录
- 场景
- 解决方案
- 排查过程
- 根据cost时间来筛选
场景
服务器假死,进程还在,但是已经接不到请求了。因此有客户报事,发现服务假死了。
解决方案
这种假死问题一般不太好排查,常规来说有几种可能。
1、慢sql导致卡死。
2、大数据列表等导致内存占慢。
3、gc的回收问题。
操作步骤:
1、首先要把gc日志备份,这一步一定要先做,因为常规的gc文件重启后就会覆盖,就找不到了。
2、然后才是重启。
3、后续的排查。
排查过程
首先是gc.out,很不幸忘了备份了,因为好久不遇到,忘了要先备份gc日志再重启。
那么没办法,从日志找吧。
服务假死,日志输出会明显减少,甚至不输出。 这个彻底死掉的时间很好判断,很长时间没日志,最后一条就是彻底死掉的时间。
但是如何排查何时开始变慢的呢?
有种思路就是根据分钟统计日志行数,正常来说基本会差不太多,如果某个时间日志条数明显减少,就说明开始有问题了。
命令:
例如日志为:
2023-09-22 11:26:47,266 [http-nio-8081-exec-244] - INFO com.ttt.common.aop.ServiceDigestAop$$EnhancerBySpringCGLIB$$42f78b6 -
实际上我们截取到分钟就行了。awk '{print $1FS$2}' business.log |cut -c 1-16 |sort | uniq -c $1 是 2023-09-22FS是分隔符,默认是空格,加这个主要是可以区分日 和 时分$2 是 11:26:47cut -c 1-16 截取1-16个字符,正好到分钟如果要根据数量倒序排序,可以加个 sort -nr
awk '{print $1FS$2}' business.log |cut -c 1-16 |sort | uniq -c | sort -nr
获取到的数据如:
4048 2023-09-22 11:28
2503 2023-09-22 11:29
3891 2023-09-22 11:30
4902 2023-09-22 11:31700 2023-09-22 11:32300 2023-09-22 11:331 2023-09-22 11:34
很明显,700对应的时间就开始有问题了。
然后就可以把这30分钟的数据全拿出来。
grep "2023-09-22 11:30" business.log > /tmp/11点30.txt 输处到/tmp目录,可以不受服务器账户权限限制,例如下载等
根据cost时间来筛选
还有一种思路,是根据cost时间来筛选,项目中一般都做了log日志拦截器,会打印耗费的时间,例如:
日志未:
2023-09-22 11:30:28,526 [http-nio-8081-exec-305] - INFO com.www.common.aop.ServiceDigestAop - *** cost 77945 msgrep "cost*ms" business > /tmp/cost-12点所有的.txt
这样导出的日志都是带时间的,找到比较大的,再根据线程号去看具体某条请求。
相关文章:
服务器假死日志按时间统计排查
文章目录 场景解决方案排查过程根据cost时间来筛选 场景 服务器假死,进程还在,但是已经接不到请求了。因此有客户报事,发现服务假死了。 解决方案 这种假死问题一般不太好排查,常规来说有几种可能。 1、慢sql导致卡死。 2、大数…...
CSS——grid网格布局的基本使用
网格布局在实现页面自适应,大屏可视化中常常使用,在这篇博客里,记录一下网格布局的基本使用。 参考文档:网格布局_菜鸟教程 文章目录 1. 体会grid的自适应性2. grid-template-arr配置网格行列3. 网格单位fr与repeat()简写属性值4…...
【python】使用Nuitka打包python项目-demo示例
文章目录 写在前面参考准备工作Quick Start参数说明使用打包程序输出目录结构日志2023.09.20 写在前面 本文的demo示例的代码/数据可从笔者的GitCode获取: HelloWorld 参考 Nuitka官网: https://github.com/Nuitka/NuitkaNuitka使用: https://daobook.github.io/nuitka-doc/…...
Java多线程篇(5)——cas和atomic原子类
文章目录 CASAtomic 原子类一般原子类针对aba问题 —— AtomicStampedReference针对大量自旋问题 —— LongAdder CAS 原理大致如下: 在java的 Unsafe 类里封装了一些 cas 的api。以 compareAndSetInt 为例,来看看其底层实现。 可以发现,最…...
数据结构---栈和队列
栈(Stack) 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈࿱…...
2023-9-23 合并果子
题目链接:合并果子 #include <iostream> #include <algorithm> #include <queue>using namespace std;int main() {int n;cin >> n;priority_queue<int, vector<int>, greater<int>> heap;for(int i 0; i < n; i){in…...
基于QT和UDP实现一个实时RTP数据包的接收,并将数据包转化成文件
简单介绍:代码写的比较详细,需要留意的地方看结尾介绍 头文件 #ifndef RTPRECEIVER_H #define RTPRECEIVER_H#include <QDialog> #include <QUdpSocket> #include <QFile> #include <QTextStream> #include <httpclient.h&g…...
云原生安全性:保护现代应用免受威胁
文章目录 引言云原生安全性的挑战云原生安全性的关键实践1. 安全的镜像构建2. 网络策略3. 漏洞扫描和漏洞管理4. 认证和授权5. 日志和监控 云原生安全工具结论 🎉欢迎来到云计算技术应用专栏~云原生安全性:保护现代应用免受威胁 ☆* o(≧▽≦)o *☆嗨~我…...
R语言绘图-3-Circular-barplot图
0. 参考: https://r-graph-gallery.com/web-circular-barplot-with-R-and-ggplot2.html 1. 说明: 利用 ggplot 绘制 环状的条形图 (circular barplot),并且每个条带按照数值大小进行排列。 2 绘图代码: 注意:绘图代码中的字体…...
解决Keil5下载没有对应芯片Flash的问题
问题描述 例如芯片是STM32F103ZET6,但是选项中并没有对应型号的芯片导致下载失败。 解决方法 1、寻找芯片安装包的具体位置,芯片安装包路径在软件安装过程中会有(如图1所示)。如果没有记录可以双击一下芯片安装包会直接提示。…...
深拷贝与浅拷贝(对象的引用)
可以用赋值 1.对象的引用 代码: <!-- 1.对象的引用 --><script>const info{name:"lucy",age:20}const objinfo;info.name"sam"console.log(obj.name) //sam</script>图解: 等于号的赋值,对象info…...
重新认识架构—不只是软件设计
前言 什么是架构? 通常情况下,人们对架构的认知仅限于在软件工程中的定义:架构主要指软件系统的结构设计,比如常见的SOLID准则、DDD架构。一个良好的软件架构可以帮助团队更有效地进行软件开发,降低维护成本࿰…...
我的创业笔记:困境与思索
现在是2023年9月22日傍晚,我一个人走在广州的珠江边,静静地思索着当前个人创业面临的困境,不由自主地想将这些想法记录下来。 故事需要从两个月前说起。2023年7月31号,我从金山办公离职后,就满心欢喜地开启了自己的个…...
minio文件上传
1.代码 大佬仓库:https://gitee.com/Gary2016/minio-upload?_fromgitee_search 关于这个代码的讲解:来自b站 2.准备minio 参考:[1]、[2] 2.1 下载 官网:https://min.io/download#/windows 2.2 启动 ①准备一个data文件夹…...
IDEA .iml文件及.idea文件夹详解
.iml文件 idea 对module 配置信息之意, infomation of module。每个模块都有一个iml文件。 IDEA中的.iml文件是项目标识文件,缺少了这个文件,IDEA就无法识别项目。跟Eclipse的.project文件性质是一样的。并且这些文件不同的设备上的内容也会…...
使用Python做一个微信机器人
介绍 简介 该程序将微信的内部功能提取出来,然后在程序里加载Python,接着将这些功能导出成库函数,就可以在Python里使用这些函数 程序启动的时候会执行py_code目录下的main.py,类似于你在命令行使用python main.py。 现在会以…...
云计算战略:选择适合你业务的云平台
文章目录 云计算的概述选择云平台的关键因素1. 业务需求2. 预算3. 性能要求4. 数据隐私和合规性 示例:选择适合的云平台业务需求预算性能要求数据隐私和合规性 代码示例:使用云平台服务结论 🎉欢迎来到云计算技术应用专栏~云计算战略…...
Python:打印目录下每层的文件总数
代码如下: import osclass FileCount(object):def __init__(self,root_path: str):self.root_path root_pathself._count Noneself._file_count Noneself.children []def get_count(self):if self._count is None:self._count 0self._file_count 0for child_…...
LVS-NAT模式
LVS负载均衡群集 群集的定义 Cluster,集群(也称群集)由多台主机构成,但对外只表现为一一个整体,只提供一-个访问入口(域名或IP地址), 相当于一台大型计算机。 群集的作用 对于企业服务的的性能提升一般…...
【神印王座】龙皓晨竟然上了头版头条!内容违背,新闻真实性原则
Hello,小伙伴们,我是小郑继续为大家深度解析神印王座国漫。 大家有没有发现,当龙皓晨他们从驱魔关回到圣城时,有这么一幕,一个卖报小孩边走边说:驱魔关大捷,少年英雄龙皓晨操控守护与怜悯之神印王座&#x…...
C++之类和函数权限访问总结(二百二十七)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
手动部署 OceanBase 集群
手动部署一个 OB 单副本集群,包括一个 OBProxy 节点 部署环境 服务器信息 IP地址 192.168.0.26 网卡名 ifcfg-enp1s0 OS Kylin Linux Advanced Server release V10 CPU 8C 内存 32G 磁盘1 本地盘 /data/1 磁盘2 本地盘 /data/log1 机器和角色划分 …...
【操作系统笔记十二】Linux常用基础命令
Linux 常用快捷键 Tab 命令或路径等的补全键,特别常用的快捷键Ctrl insert 复制命令行内容(常用可提高效率)Shift insert 粘贴命令行内容(常用可提高效率)Ctrl C 中断当前任务(退出)Ctrl Z…...
Compose LazyColumn 对比 RecyclerView ,谁的性能更好?
LazyColumn 是 compose 中用来实现类似 RecyclerView 效果的控件 ,但是大家都说LazyColumn性能比RecyclerView差太多,毕竟 RecyclerView google优化了十多年了,比RecyclerView差一点也正常,今天我们就用实际数据来对比LazyColumn和…...
[python 刷题] 49 Group Anagrams
[python 刷题] 49 Group Anagrams 题目: Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically…...
vue+element plus 使用table组件,清空用户的选择项
<el-table ref"tableRef"> .... </el-table> <script lang"ts" setup> import { onMounted, reactive, ref, nextTick } from vue const clearBtn () > {console.log(清空用户的选择项)tableRef.value.clearSelection() } </scr…...
改写软件-怎么选择改写软件
什么是改写软件?改写软件是基于自然语言处理技术的工具,它们可以分析一段文字,并将其重新表达,以保持原始意义,但使用不同的词汇和结构。这种技术可用于减少内容的重复,增加多样性,或者简化复杂…...
gateway之跨域处理
文章目录 什么是跨域跨域带来的问题 gateway解决跨域解决跨域的其他方式比较代码示例 总结提升 什么是跨域 跨域(Cross-Origin)是指在浏览器中,当一个Web应用程序试图访问与其所属页面不同的源(origin)的资源时&#…...
uniapp 实现不同用户展示不同的tabbar(底部导航栏)
一、背景 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项目中的pages.json是只有一个list数组的,并且是不能写成动态效果,为了实现这个需求,便自定义了tabbar组件 …...
线性归一化是什么,用python实现数据的线性归一化
线性归一化(Linear Normalization)是一种常见的数据预处理方法,也被称为 Min-Max 归一化。它通过对原始数据进行线性变换,将其缩放到特定的范围内,常用的是将数据缩放到 [0, 1] 或 [-1, 1] 范围内。 具体来说ÿ…...
wordpress搭建虚拟主机/百度快照查询入口
分享10个1000Stars 的开源项目 转载:https://mp.weixin.qq.com/s/E9-QSGrwNWxSDwljIQ_qPA 转载理由:看看...
通州网站建设/常见的网络推广方法有哪些
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/。未经本作者同意不得转载。 https://blog.csdn.net/kenden23/article/details/31418535 Problem DescriptionFatMouse prepared M pounds of cat food, ready to trade wit…...
做文案策划需要看什么网站/怎么给客户推广自己的产品
1.1。Numba的约5分钟指南 Numba是Python的即时编译器,它最适用于使用NumPy数组和函数以及循环的代码。使用Numba的最常用方法是通过其装饰器集合,可以应用于您的函数来指示Numba编译它们。当调用Numba修饰函数时,它被编译为机器代码“及时”执…...
中学网站域名用什么用/百度竞价排名是什么方式
目录大纲序认识Qt学习网站安装Qt在Linux时在Windows时32位系统与x86系统关系构建项目及设置配置Qt右击上下文菜单的某些选项之间区别创建主窗口、设置窗口居中、dialog与widget与mainWindow比较设置QLabel文本居中QLineEdit、QLabel的字体、大小、颜色LineEdit的监视器pro文件p…...
网站改版301怎么做/网上推广怎么做
Linux下目录复制:本机->远程服务器 scp /home/abc/test1 user192.1**.*.1:/home/bcd/test2(本机目录路径 远程机用户名IP:/目录)Linux下目录复制:远程服务器->本机 scp user192.16.0.1:/home/bcd/test2 /home/abc/…...
wordpress doc附件前加图标/清远今日头条新闻
来源:网络1、程序员是世界上最适合谈恋爱的人了2、和女朋友争吵只有一个选项!3、人龙殊途。。。4、你知道协程吗?5、程序员的正确数数方式?6、删除一段没用的代码。。。7、程序员出租房子...