宝兰德JVM参数查看及优化

news2024/12/30 2:21:43

最近生产环境宝兰德服务总是莫名奇妙的宕掉,很是搞人心态(幸好是集群服务器多,总有一台提供服务),初步排查是内存溢出导致,需要进行宝兰德JVM进行调整

调整宝兰德(BES)JVM参数通常涉及对Java虚拟机启动和运行时的配置进行优化,以适应特定应用程序的需求或解决性能问题。以下是一些关键的JVM参数调整步骤和注意事项:

一、确定调整JVM参数目标

在调整JVM参数之前,首先需要明确调整的目标,如提高吞吐量减少延迟优化内存使用等。这有助于选择合适的参数和策略。

二、JVM主要参数介绍

  1. 堆内存设置

    • -Xms:设置JVM启动时堆的初始大小。
    • -Xmx:设置JVM可使用的堆的最大内存量。

    这两个参数用于控制JVM堆内存的大小。建议将-Xms-Xmx设置为相同的值,以避免JVM在运行时频繁调整堆大小

  2. 垃圾回收器选择

    • -XX:+UseG1GC:选择G1垃圾回收器。G1是一个面向服务端的垃圾回收器,旨在满足高吞吐量和低停顿时间的需求。
    • -XX:+UseParallelGC:选择并行垃圾回收器,适用于多核服务器环境。
    • -XX:+UseSerialGC:选择串行垃圾回收器,适用于单核或小型应用。

    根据应用程序的需求和服务器配置选择合适的垃圾回收器。

  3. 年轻代与老年代比例

    • -XX:NewRatio:设置年轻代(Young Generation)与老年代(Old Generation)的比例。例如,-XX:NewRatio=3表示年轻代与老年代的比例为1:3。

    调整这个比例可以帮助优化垃圾回收的效率应用程序的响应速度

  4. 新生代内部区域比例

    • -XX:SurvivorRatio:设置Eden区与两个Survivor区的比例。例如,-XX:SurvivorRatio=8表示Eden区与每个Survivor区的比例为8:1。

    这个参数影响年轻代中对象的分配和晋升策略

  5. 其他重要参数

    • -Xss:设置每个线程的堆栈大小
    • -XX:MaxTenuringThreshold:设置对象在年轻代中存活的最大年龄,达到该年龄的对象将被晋升到老年代。
    • -XX:InitiatingHeapOccupancyPercent:设置触发GC的堆占用率阈值

通常这些参数可以通过ps命令查看,图就不放了

ps -ef|grep java

ps -ef|grep bes

或者登录BES管理台查看,并进行参数修改,重启服务

三、JVM参数优化流程

  1. 收集性能数据:使用JVM监控工具(如VisualVM、jstat等)收集应用程序的性能数据,包括内存使用情况垃圾回收次数时间等。

  2. 分析性能瓶颈:根据收集到的性能数据,分析应用程序的性能瓶颈,确定需要优化的方面。

  3. 调整JVM参数:根据分析结果,调整JVM参数以优化性能。

  4. 验证调整效果:重新运行应用程序并收集性能数据,验证调整后的效果是否达到预期。

  5. 持续优化:根据应用程序的运行情况和性能需求,持续监控和调整JVM参数以优化性能。

四、注意事项

  1. 避免过度优化不要盲目追求极致的性能而过度优化JVM参数,这可能会导致系统不稳定或难以维护。

  2. 测试验证:在调整JVM参数后,一定要进行充分的测试以验证调整效果并避免引入新的问题。

  3. 文档记录:记录每次调整JVM参数的详细信息和调整后的效果,以便后续分析和参考。

  4. 关注JVM版本:不同版本的JVM可能有不同的性能表现和参数支持情况,因此在调整JVM参数时需要关注JVM的版本信息。

  5. 参考官方文档和最佳实践:在调整JVM参数时,可以参考Oracle官方文档和其他权威来源的最佳实践,以获取更准确和有效的指导。

请注意,以上方法可能因宝兰德BES服务器的具体版本和配置而有所不同。在实际操作中,建议参考宝兰德BES服务器的官方文档或联系技术支持获取更详细的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1986963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring源码解析(29)之AOP动态代理对象创建过程分析

一、前言 在上一节中我们已经介绍了在createBean过程中去执行AspectJAutoProxyCreator的after方法,然后去获取当前bean适配的advisor,如果还不熟悉的可以去看下之前的博客,接下来我们分析Spring AOP是如何创建代理对象的,在此之前…

38. 115.不同的子序列,583. 两个字符串的删除操作,72. 编辑距离,编辑距离总结篇

确定dp数组以及下标的含义。dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。确定递推公式。这一类问题,基本是要分析两种情况:s[i - 1] 与 t[j - 1]相等;s[i - 1] 与 t[j - 1] 不相等。当s[i - 1] 与 t[j -…

【屏驱MCU】RT-Thread 文件系统接口解析

本文主要介绍【屏驱MCU】基于RT-Thread 系统的文件系统原理介绍与代码接口梳理 目录 0. 个人简介 && 授权须知1. 文件系统架构1.1 虚拟文件系统目录架构 2. menuconfig 分析3. 代码接口分析3.1 DFS框架挂载目录3.2 【FAL抽象层】分区表和设备表3.3 如何将【文件路径】挂…

计算机毕业设计PySpark+Django考研推荐系统 考研分数线预测 中公考研爬虫 混合神经网络推荐算法 考研可视化 机器学习 深度学习 大数据毕业设计

《PySparkDjango考研推荐系统》开题报告 一、研究背景与意义 1.1 研究背景 随着社会对高学历人才需求的不断增加,研究生入学考试(考研)已成为众多大学毕业生追求深造的重要途径。然而,考研涉及的知识面广泛且复杂,考…

Unity补完计划 之Tilemap

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 1.Tilemap 是什么 Q:和 SpriteShape有什么区别? A:tilemap强项在于做重的复背景&…

产品经理-​桌面端、手机端、电视端、平板端在设计上的异同(29)

在互联网产品当中,产品形态,pc网页端,客户端,安卓,苹果端,小程序端等 不同的设备,交互设计、产品设计是不一样的,面对的用户群体不一样,产品的设计,规则也是不一样的 这个考查的是PM的交互设计知识,需要知道一般性的交互设计原则与各端设计差异 互联网的各端产品&am…

树莓派新版本在interface options中找不到camera选项

文章目录 问题原因: 操作方法: 1.系统升级 2. 安装libcamera 3. 测试拍照 4. 拍照和视频 5. 查看图片 问题原因: 版本问题,自2023.10之后的新版本中,树莓派去除了原先使用的picamera库,所以不能通过…

Unity补完计划之 Tile Palette

1.Tile Palette Creating a Tile Palette - Unity 手册 瓦片调色板(Tile Palette)是 Unity 引擎中用于在瓦片地图上进行绘制的工具。它允许您选择和管理颜色、纹理和瓦片,以便在游戏场景中创建地图、背景和其他2D元素 说白了,Ti…

win11启动IIS服务配置成web服务器·

为什么要将本地配置为 Web 服务器? 在 Web 开发过程中,将本地配置为 Web 服务器有诸多好处: 实时预览: 修改代码后,无需每次都上传到远程服务器,即可在本地浏览器中实时查看效果。 离线开发: 无需依赖网络连接&#x…

如何搭建一个圈子社区系统?开源社交陪玩交友圈子论坛帖子系统保姆级搭建教程!

整体部署流程如下: 1.获取源码/前后端分离,前端Uniapp vue2.0 后端thinkphp6(Gitee直达) 2.服务器安装宝塔(已有宝塔请安装环境,Nginx或者Apache/ php 7.3/ mysql 5.6 ) 3.进入宝塔添加网站&…

实验8-1-5 使用函数的选择法排序

本题要求实现一个用选择法对整数数组进行简单排序的函数。 函数接口定义: void sort( int a[], int n );其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。 输入样例: …

XFS超级块介绍-xfs_sb

XFS超级块介绍 与其他 Unix 文件系统一样,XFS 的超级块在文件系统的第一个扇区,它帮助解码文件系统。超级块占用每个 XFS AG 的前 512 个字节。主超级块是位于文件系统前面的 AG 0 中的超级块,其他 AG 中的超级块用于冗余。目前仅使用超级块…

leetcode-238. 除自身以外数组的乘积

题目描述 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(…

【Nuxt】自定义插件和生命周期

自定义插件 方式一: app.vue // 创建插件(在app.vue中创建全局可以使用 而在某个页面中创建只有该页面可以使用) // 方式一: const nuxtApp useNuxtApp(); nuxtApp.provide("formDate", () > {return "2023-12-12"; }) nuxtAp…

vue相关

1,Object.defineProperty和Proxy区别 定义、优缺点、区别 Object.defineProperty:vue2中实现数据监听/响应式的核心API。 Object.defineProperty遍历监听(observer)vue对象中的所有属性:data,props,comp…

基于深度学习的太阳暗条检测(2020年以来)

A universal method for solar filament detection from Hα observations using semi-supervised deep learning A&A, 686, A213 (2024) A universal method for solar filament detection from Hα observations using semi-supervised deep learning (aanda.org) ABS…

SpringBoot依赖之Quartz Scheduler定时调度器

Quartz Scheduler 依赖名称: Quartz Scheduler功能描述: Schedule jobs using Quartz.使用 Quartz 安排作业。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency&…

论文笔记: 视频关键帧抽取相关工作

2024-08-06&#xff0c;星期二&#xff0c;北京&#xff0c;晴 今天来看视频关键帧抽取主题。随着最近Sora文生视频的火热&#xff0c;视频相关的数据获得逐渐变得重要起来。这也就涉及到提取视频关键帧的问题。 从文本生成视频&#xff0c;我们拆分来看&#xff0c;一般流程…

泳泳馆押金原路退回系统,一键操作秒到账 押金+手牌+电子押金单

一、游泳馆手牌收押金必要性 游泳馆手牌收押金有以下必要性&#xff1a; 1. 防止手牌丢失&#xff1a;手牌是顾客在游泳馆内存储个人物品和进出更衣室的重要凭证。收押金可以让顾客更加重视手牌&#xff0c;降低丢失的概率。比如说&#xff0c;有的顾客可能会因为粗心大意随手…

用Python进行数据可视化——seaborn库详解

内容&#xff1a; 安装和导入Seaborn使用Seaborn创建基本图形了解Seaborn的默认数据集 代码&#xff1a; # 安装和导入Seaborn !pip install seaborn import seaborn as sns import matplotlib.pyplot as plt# 使用Seaborn创建基本图形 tips sns.load_dataset("tips&q…