天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1680|回复: 8

[已解决] 关于系统运行一段时间内存高占比导致服务崩了

[复制链接]
网络菜菜 发表于 2024-11-28 10:24:56 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.1- sp
【浏览器类型】:Chrome/其他
【联系方式-QQ】:260217944
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:请教开发者,系统是否对内存的优化设置,系统运行不到一个月,内存占比超97%,服务停摆,需要重启虚拟机。而且内存分配多少,都会无限接近峰值使用。最近,还有一次未达满,2/3的内存占用后就服务崩了。咨询过同事,可能是JAVA的通病,不知有无办法改善一下。



1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-11-29 16:09:49 | 显示全部楼层
试试配置tomcat内存的方式看看。
 楼主| 网络菜菜 发表于 2024-11-29 17:22:20 | 显示全部楼层
yaya 发表于 2024-11-29 16:09
试试配置tomcat内存的方式看看。

请问有具体的方法吗?
yaya 发表于 2024-12-5 09:27:21 | 显示全部楼层
网络菜菜 发表于 2024-11-29 17:22
请问有具体的方法吗?

windows服务器的还是Linux?
 楼主| 网络菜菜 发表于 2024-12-5 09:46:54 | 显示全部楼层
yaya 发表于 2024-12-5 09:27
windows服务器的还是Linux?

linux——openEuler
yaya 发表于 2024-12-5 10:18:25 | 显示全部楼层

catalina.sh文件:在cygwin=false之上
添加以下语句
JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XXermSize=512m -XX:MaxPermSize=2048m"
这些数值大小应该根据您服务器的内存来调
 楼主| 网络菜菜 发表于 2024-12-5 15:59:12 | 显示全部楼层
工程师,我是通过docker-compose启动容器的,编辑catalina.sh文件不是好方便

但我在dock-compose.yml的环境下增加以下语句,都有用,但网查一些回收内存的参数时就启动失败,请问知道是什么原因吗?
    environment:
      TZ: Asia/Shanghai
      myapps.storage.root: /storage
      JAVA_OPTS: "-Djava.security.egd=file:/dev/./urandom"
      DB_PORT: ${DB_PORT}
#      CATALINA_OPTS: -Xms1024M -Xmx2048M -XXermSize=256M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=4 -XX:CMSInitiatingOccupancyFraction=80% -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompation=0
      CATALINA_OPTS: -Xms1024M -Xmx4096M -Xss1024K -XXermSize=512M -XX:MaxPermSize=2048M -XX:+UseConcMarkSweepGC  

只要用到以下参数,tomcat容器就无法启动-XX:+UseParallelGCThreads=4 -XX:CMSInitiatingOccupancyFraction=80% -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompation=0
yaya 发表于 2024-12-5 17:40:28 | 显示全部楼层
网络菜菜 发表于 2024-12-5 15:59
工程师,我是通过docker-compose启动容器的,编辑catalina.sh文件不是好方便

但我在dock-compose.yml的 ...

https://blog.csdn.net/qq_44757149/article/details/127726727
用这里面的方法试试可行不。
 楼主| 网络菜菜 发表于 2025-1-14 13:10:52 | 显示全部楼层
yaya 发表于 2024-12-5 17:40
https://blog.csdn.net/qq_44757149/article/details/127726727
用这里面的方法试试可行不。

试过第一种方法,感觉命令的参数还是在(CATALINA_OPTS: )

现在暂时用笨方法,定期观察服务内存占用情况,当超过占用80%内存后,停服务,释放内存,用以下命令

echo 1 > /proc/sys/vm/drop_caches

再重新启动服务。

问题算是解决了,但方法有些笨,无做动后台自己优化,需要定期人工干预。

\\\\\\\"已解决可结帖\\\\\\\"

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 12:19

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表