线上宝塔部署的springboot项目在执行elasticsearchRepository.saveAll后就挂掉的解决方法

这篇具有很好参考价值的文章主要介绍了线上宝塔部署的springboot项目在执行elasticsearchRepository.saveAll后就挂掉的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

当mysql数据库中数据更新后,可以使用elasticsearchRepository.saveAll()方法来将新增的数据保存到elasticsearch文档库中。

在我所在的场景下,大概每个月会一下往数据库写入几千条数据,然后一股脑得将之前的数据和新增的数据全部实体交给saveAll()方法,那么就会占用大量的内存。

问题

今天在执行saveAll()后访问网站发现502,从宝塔上可以看到网站被关闭了。

执行dmesg发现由于内存占用太多导致网站线程被关闭:

[18314358.456517] Out of memory: Kill process 29482 (java) score 313 or sacrifice child
[18314358.457800] Killed process 29482 (java), UID 1003, total-vm:3637272kB, anon-rss:1212976kB, file-rss:856kB, shmem-rss:0kB

在执行free -h查看剩余内存只有100M

              total        used        free      shared  buff/cache   available
Mem:           3.7G        2.8G        172M        2.3M        720M        651M
Swap:            0B          0B          0B

因此判断是由于占用过多内存导致网站挂掉。


解决

解决方法是优化程序逻辑,只save()新增的记录来减少服务器压力。文章来源地址https://www.toymoban.com/news/detail-633930.html

到了这里,关于线上宝塔部署的springboot项目在执行elasticsearchRepository.saveAll后就挂掉的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为云云服务器评测 宝塔+nginx 同时部署Springboot、Vue项目

    华为云云服务器评测 第一章 [linux实战] 华为云耀云服务器L实例 Java、node环境配置 华为云云服务器评测 第二章 [linux实战] Unbutnu添加SSH Key、启动Springboot项目 华为云云服务器评测 第三章 [linux实战] 使用Vue3、Element-plus菜单组件构建轮播图 华为云云服务器评测 第四章 [linux实战

    2024年02月10日
    浏览(62)
  • 一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 日常开发项目上线或者部署个人博客网站,都离不开线上服务器部署应用。本文带你学会线上部署应用。

    2024年02月14日
    浏览(61)
  • 如何快速搭建自己的阿里云服务器(宝塔)并且部署springboot+vue项目(全网最全)

    对于新手或者学生党来说,有时候就想租一个云服务器来玩玩或者练练手,duck不必花那么多钱去租个服务器。这些云服务厂商对学生和新手还是相当友好的。下面将教你如何快速搭建自己的阿里云服务器,完成云服务器的部署。 现在阿里云对于新用户来说,还是挺仗义的,

    2024年02月04日
    浏览(84)
  • 宝塔部署nodejs项目

    部署操作很简单,网上也有很多教程,不过我还是踩坑了,这里记录一下,给其他人也避避坑吧。 首先你已经有了服务器,并且打开了宝塔面板,其次准备好你的nodejs项目。 在宝塔安装pm2管理器(推荐) 打开pm2的设置,选择nodejs项目对应的版本 在左侧菜单点击 文件 ,在根

    2023年04月08日
    浏览(49)
  • 使用宝塔部署Vue项目

    1. Vue项目执行打包命令进行打包得到dist文件夹 2. 打开宝塔主页进入网站,选择添加站点  3. 将自己的服务器网址作为域名,默认为80端口,可自行设置备注和根目录,点击提交  4. 点击设置-配置文件,加入如下代码(配置跨域问题),点击保存(建议手敲,格式很重要)  

    2024年02月12日
    浏览(43)
  • 宝塔部署vue项目

    1、打包自己的vue项目文件 2、宝塔面板登录 并进入左侧网站对应的页面 3、添加站点 如果没有域名的可以添加 自己的服务器地址 如果服务器地址已经 添加过了 想在服务器其他端口 展示项目 则可以 随便填写过域名 ( 有域名的可以跳到第6步哦 ) 4、进入当前添加好了的站

    2024年02月05日
    浏览(48)
  • 宝塔部署项目&跨域

    导读:一般我们开发完前端项目后需要部署项目到线上服务器访问,这里是记录部署的一个过程。部署项目有多种方式:1.通过Nginx进行部署。2.通过Java进行部署(存放在static目录下)。3.通过PHP创建的的静态文件夹访问等等。 注意:如果你启动的服务有自定义端口,你需要在

    2024年02月06日
    浏览(49)
  • 利用宝塔部署项目(持续更新)

    【方法一:解压安装】 1、https://www.oracle.com/java/technologies/downloads/ (链接拷贝于2022年03月27日) 向下找到JDK 8u321的下载列表下载.tar.gz安装包:x64 Compressed Archive,登陆后下载 2、解压到 建议使用命令解压,并记得检查下权限 3、配置环境 环境变量按需配置,多环境请修改23,

    2024年02月07日
    浏览(49)
  • 线上部署springboot和vue开发的博客需要替换的地方

    账号密码更换 数据库名称更换 2.将所有localhost 替换为 ‘47.109.28.131’ 1.查看原有jar包 2.杀死原有端口号 3.移除原有jar包 4.winscp传入当前最新jar包 5.执行java命令后台启用 6.传入前端vue dist文件夹

    2024年01月20日
    浏览(35)
  • 宝塔面板部署express以及MySql项目

    第一次在宝塔面板上部署express和MySql项目,部署过程一直跑不通接口,特此记录一下。 在部署的时候,建议第一步把数据库MySql给跑通,中间好多原因是由于数据库的原因给引起的。 (1)在宝塔面板上数据库上点击添加数据库,按照下述图片填写数据库的名字,密码会自动

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包