jvm常见调优

FullGC的STW停顿时间长

单体应用一台硬件上的jvm的部署策略

单独的jvm管理堆内存

对于用户停顿时间敏感的系统,并不是必须使用Shenandoah或者ZGC这些明确以控制延迟为目标的垃圾回收器才能解决问题(当然,这是最好的方法),使用Parallel Scavenge/Old收集器,并且给java堆分配大内存空间也可以,但是必须把FullGC的频率调整得够低,比如,一天一次FullGC,可以在深夜执行定时任务触发FullGC。
控制FullGC的关键是保证老年代的稳定,即要保证对象进入老年代是极少部分,大部分网站对象的生成周期都是请求级或者页面级别的,会话级别和全局的长周期比较少,只要代码写的好,就可以减少FullGC。

回收大内存导致的长时间停顿,G1的增量回收可以缓解
大jvm堆分析困难,需要借助工具

使用若干个jvm建立集群逻辑来利用硬件

启动多个jvm项目然后注册在不同端口,在前端搭建一个负载均衡器反向代理来分配访问(比如SessionId)

并发问题,访问磁盘io,可能会导致IO异常
各个节点自己建立独立的线程池,负载均衡必须弄得好,或者使用中央式的线程池

更换垃圾回收器减少GC时延

修改堆区域内存大小减少GC频率

升级JDK

进入安全点耗时太长

启动时间长(类加载耗时长)

异步调用的双方的服务速率不匹配导致超过了虚拟机的承受能力

导致等待的Socket连接太多,线程太多,最终超过虚拟机的承受能力。

元空间大小的配置

可能调用外部命令导致耗时长

比如在java中调用shell

直接内存的回收

虚拟机虽然会对直接内存进行回收但是直接内存却不能像新生代老年代那样,发现空间不足就主动通知垃圾回收器进行GC,他只能等FULLGC时对其顺便GC。

内存泄漏

堆转储快照

图形化分析内存空间

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

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

相关文章

centos7安装宝塔面板

一、进入root模式 sudo su二、安装宝塔面板 if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

如何利用小程序容器技术搭建小程序生态?

小程序,作为现代移动互联网生态中的重要基础设施,正以其独特的创新性和便捷性展现出勃勃生机。截至2021年,全网小程序的数量已经突破了700万,其中微信小程序的开发者达到了300万之多。这一数字不仅代表了小程序在技术层面的成熟度…

7.4总结

今天写了几道题目 最近,一年级学生马克西姆学习了科拉兹猜想,但他在讲课时没有太注意,所以他认为猜想中提到了以下过程: 有一个变量 $$$x$$$ 和一个常数 $$$y$$$ 。下面的操作要执行 $$$k$$$ 次: - 将 $$$x$$$ 增加…

Studying-代码随想录训练营day29| 134. 加油站、135. 分发糖果、860.柠檬水找零、406.根据身高重建队列

第29天,贪心part03,快过半了(ง •_•)ง💪,编程语言:C 目录 134.加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列 134.加油站 文档讲解:代码随想录加油站 视频讲解:手撕加油站…

《梦醒蝶飞:释放Excel函数与公式的力量》8.3 COUNTBLANK函数

8.3 COUNTBLANK函数 在数据处理和分析中,我们经常需要识别和统计数据集中的空白单元格。COUNTBLANK函数是Excel中用于统计某个范围内空白单元格数量的强大工具。 8.3.1 函数简介 COUNTBLANK函数用于统计指定范围内的空白单元格数量。这在数据清洗、数据完整性检查…

MySQL之备份与恢复(四)

备份与恢复 存储引擎和一致性 3.复制 从备库中备份最大的好处是可以不干扰主库,避免在主库上增加额外的负载。这是一个建立备库的好理由,即使不需要用它做负载均衡或高可用。如果钱是个问题,也可以把备份用的备库用于其他用户,…

【C/C++ new/delete和malloc/free的异同及原理】

new/delete和malloc/free都是用于在C(以及C语言在malloc/free的情况下)中动态申请和释放内存的机制,但它们之间存在一些显著的异同点。以下是对这两组函数/运算符的异同点的详细分析: 相同点 目的相同:两者都用于在堆…

C++编程逻辑讲解step by step:类之间的交互

题目 设计一个点类Point&#xff0c;再设计一个矩形类&#xff0c;矩形类使用Point类的两个坐标点作为矩形的对角顶点。并可以输出4个坐标值和面积。 分析 1.点类&#xff0c;自然维护的是一个点的坐标&#xff0c; #include < iostream > using namespace std; class …

【C语言基础知识点】C语言-使用 fgets 读取包含空格的字符串

使用 fgets 读取包含空格的字符串 // 使用 fgets 读取包含空格的字符串 #include <stdio.h> #include <string.h> int main() { char name[100]; printf("Enter your name: "); fgets(name, sizeof(name), stdin); // 移除可能读取到的换行符 n…

Matlab/simulink三段式电流保护

电流1段仿真波形如下所示 电流2段仿真波形如下所示 电流3段仿真波形如下所示

Centos7安装Minio笔记

一、Minio概述 Minio是一款开源的对象存储服务器&#xff0c;可以运行在多种操作系统上&#xff0c;包括Linux、Windows和MacOS等。提供一种简单、可扩展、高可用的对象存储解决方案&#xff0c;支持多种数据格式&#xff0c;包括对象、块和文件等。Minio是一款强大、灵活、可…

WCCI 2024第三弹:忍者表演惊艳全场,盛大晚宴不容错过

WCCI 2024第三弹&#xff1a;忍者表演惊艳全场&#xff0c;盛大晚宴不容错过&#xff01; 会议之眼 快讯 会议介绍 IEEE WCCI&#xff08;World Congress on Computational Intelligence&#xff09;2024&#xff0c;即2024年IEEE世界计算智能大会&#xff0c;于6月30日至7月…

【前端知识】一篇速成 建议收藏

HTML基础概念 正式敲代码之前呢,我们先来看几个概念: 0 静态网页和动态网页 静态网页: 页面的内容和显示效果就基本上不会发生变化了--除非你修改页面代码。 动态网页: 页面代码虽然没有变&#xff0c;但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的…

【康复学习--LeetCode每日一题】3099. 哈沙德数

题目&#xff1a; 如果一个整数能够被其各个数位上的数字之和整除&#xff0c;则称之为 哈沙德数&#xff08;Harshad number&#xff09;。给你一个整数 x 。如果 x 是 哈沙德数 &#xff0c;则返回 x 各个数位上的数字之和&#xff0c;否则&#xff0c;返回 -1 。 示例 1&a…

【Qt知识】window frame 对窗口坐标的影响

在Qt中&#xff0c;窗口框架&#xff08;Window Frame&#xff09;对Widget的尺寸计算和坐标定位有着直接的影响&#xff0c;这主要是因为窗口框架本身占据了一定的空间&#xff0c;包括标题栏、最小化/最大化/关闭按钮以及边框。这部分额外的空间在不同的应用场景下需要被考虑…

windows非白名单exe监控并杀死

需求&#xff1a;孩子在家用电脑上网课&#xff0c;总是悄悄打开游戏或视频软件 方案&#xff1a;指定白名单exe&#xff0c;打开非白名单的就自动被杀死&#xff0c;并记录日志供查看 不知道是否还有更好的结果方案&#xff1f; import psutil import time import logging#…

2024.7.4 刷题总结

2024.7.4 **每日一题** 3086.拾起k个1需要的最少行动次数&#xff0c;在这道题我们可以把0看成空位&#xff0c;第二种操作相当于把一个1移动到和它相邻的空位上&#xff0c;而第一种操作则是贪心地把和当前下标相邻的0变成1;当maxchanges较大时&#xff0c;优先使用第一种操作…

第二十条:与抽象类相比,优先选择接口

要定义多种实现的类型&#xff1a;JAVA有两种机制&#xff1a;接口和抽象类。这两种机制都支持为某些实例方法提供实现&#xff0c;但二者有个重要的区别&#xff1a;要实现由抽象类定义的类型&#xff0c;这个类必须是抽象类的子类。因为Java只允许单继承&#xff0c;对抽象类…

使用SSE实现echarts数据实时更新

区别 SSE 和 WebSocket 原理和实现方式的区别 SSE( Server-Sent Events) SSE 是基于传统的 HTTP 协议实现的&#xff0c;采用了长轮询&#xff08;long-polling&#xff09;机制。客户端通过向服务器发送一个 HTTP 请求&#xff0c;服务器保持连接打开并周期性地向客户端发送…

内网穿透--利用everything实现目录映射

免责声明:本文仅做技术交流与学习... 目录 来源文章 frp下载网址 为了隐藏: 演示: 1-靶机的everything开启http服务 2-Linux服务器: 3-靶机windows: 4-最后访问: 来源文章 渗透测试技巧|Everything的利用 frp下载网址 Release v0.58.1 fatedier/frp GitHub 为了隐…