数据库服务器卡住问题解决一例

Spring Boot 项目启动卡住不动,排查了2小时终于找到原因 上周帮同事看一个问题,Spring Boot 项目本地跑得好好的,部署到测试环境之后启动就卡住了,日志停在那一行不动,也不报错,就是不起来。一开始以为是内存不够,加了参数还是一样。后来花了将近2小时才定位到是数据库连接池在等待连接,而连接一直建立不上。这种"卡住不动"的问题比直接报错还难搞,因为没有任何提示。我把常见的几种原因整理了一下,下次遇到可以对着逐一排查。 阅读详情

现象:数据库服务器在周一到周五的八点半到九点期间,服务器负载很严重,cpu%达到100%,奇怪的是system%特别高,90%以上,整个系统卡住。过了九点后就慢慢恢复了。

从数据库的awr报告看,这个时间段没有特别的SQL语句。考虑到八点半到九点一般是系统使用者开始登录使用的时间,在服务器上安装perf工具。第二天早上用perf监控,看看操作系统到底在忙些什么。监控截图如下
这里写图片描述

从监控结果上能看到compacting_alloc函数占用cpu特别多。用关键词”compacting_alloc”百度一下。
结果:linux的新特性THP(Transparent hugepages)会导致system%过高
处理:关闭THP

  1. vi /etc/rc.local ,添加如下两行
  2. echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
  3. echo never > /sys/kernel/mm/redhat_transparent_hugepage/deflag

重启服务器。再监控,这个现象就没再出现

SpringBoot启动卡住无日志?三步定位线程阻塞点与解决方案 在Java应用开发中,线程阻塞是常见的性能与稳定性问题,尤其在SpringBoot这类复杂框架的启动阶段。其原理通常是某个线程在等待资源(如锁、I/O、网络连接)时被挂起,导致整个应用流程停滞。理解线程状态(RUNNABLE、WAITING、BLOCKED)和线程转储分析技术,对于诊断生产环境中的“静默”故障具有重要价值。通过jstack等工具获取线程快照,可以精准定位到数据库连接池、配置中心客户端或自定义初始化代码中的阻塞点,这是后端工程师必备的线上调试技能。本文以SpringBoot启动卡住的典型场景为 阅读详情

相关推荐

解决Oracle数据库使用datapump导入导出时卡住的问题

当在Oracle数据库中使用datapump工具进行数据导入导出时,如果出现进程卡住或挂起的情况,可能是由于数据库锁定、网络问题、数据库性能问题、日志文件过大或数据库对象损坏所导致。根据具体情况,您可以逐一尝试这些方法,以确定导致进程卡住的根本原因,并采取相应的措施解决该问题。然而,有时候在执行导入或导出命令时,可能会遇到进程卡住或挂起的情况,这会导致操作无法完成。在使用Oracle的datapump工具进行数据导入导出时,命令执行后进程卡住或挂起,无法继续进行后续操作。如果您有任何其他问题,请随时提问。

SrySmalltalk的博客 900

Oracle数据库占用磁盘,导致磁盘活动时间为100%的解决方法

本人在使用Oracle的过程中,下午发生了一件猝不及防的事情,那就是Oracle数据库导致电脑磁盘的活动时间占有率为100%,没错是100%,导致电脑一段时间内无缘无故的卡死,无缘无故的死机,重启后过了一段时间又是100%的卡死导致死机。 最后忍无可忍,去网上找了很多教程,如禁家庭组,禁系统安全软件...

杉 言 1万+

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序

为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。

weixin_55035144的博客 2144

数据库卡死,不要再重启了

说实话数据库卡死,还是比较少见的,我工作六七年也只遇到过两三次。上周就遇到一次,而且上周发生的十分的频繁。可能适合数据库有很大关系,因为我们搞了国产化,用了人大金仓的数据库。今天就讨论一下面临数据库卡死的时候,如何查到问题所在。(ps:本篇文章只是提一个一种排查的思路)本篇文章主要分析了pg_locks的字段含义,以及在排查数据库问题时的应用场景。在面临数据卡死的场景时候,可以查询这两个视图分析问题,而不是直接重启。

weixin_39439156的博客 2124

别再乱拖了!Godot 4.x 场景编辑器的7个隐藏操作技巧(附快捷键清单)

本文揭示了Godot 4.x场景编辑器的7个隐藏操作技巧,包括智能对齐、轴心点应用、多节点批量操作等,帮助开发者提升游戏开发效率。特别介绍了坐标系切换和自定义快捷键等实用功能,适用于处理复杂场景和团队协作。

weixin_29534421的博客 361

Windows MCP 安装教程:让 AI 代理与 Windows 系统无缝交互

通过以上步骤,你已经成功安装和配置了 Windows MCP 服务。现在你的 Cursor 编辑器可以通过 MCP 协议与 Windows 系统进行深度交互,AI 代理能够:启动和控制应用程序执行系统命令自动化 UI 操作获取系统状态信息这为 AI 辅助开发和工作流程自动化提供了强大的基础。如果你在使用过程中遇到任何问题,欢迎在评论区讨论或查看项目的官方文档。

chenchihwen的专栏 3350

mysql数据库表卡死怎么办

1.、 查看所有进程2、找到卡死或在等待的线程,直接kill杀掉就好了

poker_zero的博客 3206

螺丝锁付系统软件设计 C# Winform

视觉螺丝锁付系统软件设计 C# Winform ,这是其中通信子模块设计

weixin_42522973的博客 340

mysql数据库(navicat)卡死,转圈的解决方法

找到导致卡死的进程,我这里是有一条sql因为添加了索引之后,导致一直卡在sendingdata,然后又执行了删除索引,导致数据库卡死,在这里直接结束该进程,也就是id为1025的。遇到数据库卡死,可通过show processlist查看进程,找到影响的进程使用kill结束,数据库恢复正常。可以通过命令行连接,通过show processlist查看进程。P大写是端口,小写是密码。

A567500的博客 3872

【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘

虚拟化平台安装好之后,一般情况下,只有一个硬盘在工作,其他的外接硬盘(我的只有一个ssd硬盘,其他的均是usb外接,SATA接口的硬盘是否这样我暂时不清楚哈)没有在工作,但是一个硬盘明显不够我们使用的,所以我们需要去挂载外接的硬盘来扩容。...

Rubik Blog 4834

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 928

怎么定位DM数据库的阻塞并解决阻塞

查看数据库是否有阻塞: SELECT o.name, l.* FROM v$lock l, sysobjects o WHERE l.table_id = o.id AND blocked = 1; trx_id值为29441,表示当前数据库中trx_id为29441的事务被其他会话阻塞。 查看当前数据库等待事务 SELECT * FROM V$TRXWAIT; 说明: ID:被阻塞的事务IDWAIT_FOR_ID:所等待的事务ID(即引起阻塞源的事务ID)WAI...

orasid的博客 1241

反激电源反馈环路设计:从TL431+PC817原理到动态补偿实战

本文深入解析了反激电源中由TL431和PC817构成的经典反馈环路设计。从静态工作点计算到动态补偿实战,详细阐述了如何通过Type II补偿网络优化环路稳定性与动态响应,并分享了应对光耦CTR离散性、布局噪声等常见调试难题的实用技巧,帮助工程师设计出高性能、高可靠的开关电源。

moon9的博客 699

存储过程升级卡住排查方法

在日常工作中经常接收到各类升级问题。其中较为常见的问题就是在编译存储过程时一直卡住无法继续的问题。这类问题一般多是由于发生了阻塞。如果升级过程中没有完全切断客户端对数据库的连接。例如仍然有用户在操作相关过程或者数据库JOB在自动化的执行等都可能导致存储过程编译被阻塞进而导致无法完成升级。这时只有等待相关会话执行完毕或者杀掉会话才能继续升级。如果升级中出现以下错误那么必然是发生了阻塞。

667

L3自动驾驶时代,域控制器核心解析(第一篇:架构演进与五域基础)

本文作为L3域控制器系列的第一篇,核心梳理了3个关键内容:L3时代为什么必须用域控制器:解决分布式ECU的协同、算力、迭代难题;域控制器的演进路线:从分布式ECU→域集中式→中央计算平台;博世五域架构的核心解析:五大域的定位、功能与典型方案。后续将持续更新系列文章,重点覆盖:第二篇:L3对域控制器的关键技术要求(传感器、算力、线控、软件、通信);第三篇:域控制器全产业链拆解(上游芯片、中游器件、下游总成);第四篇:域控制器的产业机遇与国产替代进展。

getusushu的博客 538

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

win10 安装mysql 卡死_win10安装Mysql5.5卡住假死

MySQL是一个多线程的结构化查询语言(SQL)数据库服务器,SQL在世界上是最流行的数据库语言,MySQL数据库5.5的执行性能非常高,运行速度非常快,并非常容易使用,是一个非常棒的数据库,不过最近有win10正式版系统用户在电脑中安装Mysql5.5的时候,遇到了卡住假死的情况,导致安装失败,很多用户遇到这样的问题可能很头疼吧,不用着急,系统城小编将给大家讲解一下Win10安装Mysql5.5...

weixin_34616304的博客 888

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

pycharm工程启动卡住没反应

今天早上用pycharm启动django工程的时候,一直卡在如下提示:Performing system checks... System check identified no issues (0 silenced).python编译器方面并没有发现什么问题,代码也没有修改,感觉很疑惑,不知道什么原因。后来发现,工程连接的数据库服务器磁盘空间满了,清理磁盘之后,工程就成功运行起来了。看来原因是工程

B.I.T 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Tomcat 500错误 问题集锦

HTTP 500 - 内部服务器错误 1.jdk版本与Tomcat版本不一样。 复制代码 问题: 配置一个Web应用的时候,源文件和server.xml、web.xml的配置都没有问题,但是在访问到一个Servlet的时候,就会出现一个Tomcat500的错误。 刚开始的时候以为是配置的错误,经改正后错误依然,重装Tomcat之后还是照样。无奈中仔细看了错误提示,居然发现错误提示: Unsuppo...

lingle1的博客 1万+

解决IBM x3650 Configuring system自检卡死

我们工程师接到案子后,第一时间协同仓库同事确认该IBM System x3650 M2是否有现货备件,开机按钮山闪烁正常,光通路诊断面板没有黄灯和警告信息,开机自检到IBM System x白色框。这个维修是东莞同行朋友介绍,由于该服务器是医院一台数据库服务器,异常的重要所以修复。由于我们有做很多客户老服务器的维保服务,像这类主流的服务器都有整机备件,警告跟客户。1:首先以硬件最小化测试,排除大部分硬件引起的故障,(无果,故障依旧)3:确认RAID卡状态,确认硬盘状态,确认RAID状态(都正常)

OuYangYuXi的博客 3411

[K3Cloud2.0]如何解决创建管理中心失败的问题

标题有点大,实际上,Cloud2.0产品质量还是顶呱呱的,至于在安装使用过程中出现的这个管理中心无法创建的问题,实际上是与我的网络环境有关,下面讲一下我的网络环境: 开发团队目前所在网段:10.30.0.0 oracle数据库服务器所在网段:192.168.0.0 下面说下建库原理: K3Cloud2.0安装后,都有这么个目录:...Kingdee\K3Cloud\CommonFil...

weixin_34234721的博客 209

was控制台导入war包时卡死_was进程卡住

[13-6-9 14:15:36:317 CST] 0000001e SystemOut O [INFO ] 2013-06-09 14:15:36:317 [com.mchange.v2.c3p0.PoolBackedDataSource] - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource@6232...

weixin_39605326的博客 440

Spring data JPA中update语句执行卡死问题

Spring data JPA中update语句执行卡死问题 项目中调用spring data jpa 执行update操作,发现sql语句一直卡在执行的地方,把sql语句沾出来在工具执行也一样。 通过查询资料,发现这种情况属于行级锁问题,也就是说,要更新的这条记录之前执行过insert或者update,但是没有提交事务,oracle默认就会把这条记录加行级锁,避免其他session来操作,所以当你再次执行update的时候,就会卡住。 自己在本地也使用DbVisualizer模拟了行级锁的产生。 1.取消

qq_36816062的博客 1542

java informix jdbc连接,informix jdbc卡住连接

I'm trying to connect to a Informix database server with jdbc using the standard way :connection = DriverManager.getConnection("jdbc:informix-sqli://"+ip+/"+sid+":INFORMIXSERVER="+server+";user="+user...

weixin_39525007的博客 854

数据库(oracle)服务器的cpu大于80%

数据库(oracle)服务器的cpu大于80%,或到90%时,会对系统造成很大的影响。 一般是某些sql执行卡住了,消耗cpu资源,才会高居不下。 数据库服务器top命令截图: 1、如何解决呢?这时候oracle的awr报告或ash报告就起到了很好的作用。 oracle生成awr报告 oracle生成ash报告 awr报告: ash报告: 2、查询会话。取上图的 SQL Id,如:g51nuh6kzfyu9,执行语句: select sid,serial#,username ,osuser from

h18300103614的博客 3748
上一篇: oracle10 RAC节点添加过程
下一篇: linux 挖矿病毒解决过程
yecloudymsdn
博客等级 码龄11年 4粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值