Jvisualvm内存模型剖析-JVM(五)

news2024/11/15 6:40:42

上篇文章代码讲解了tomcat加载以及gc回收流程。

Jvm内存模型剖析优化-JVM(四)

  • Jvisualvm

 

我们可以编写如上代码,之后打开jvm自带的工具jvisualvm。

如果我们看visual不会明显变化,则可以修改睡眠参数,时间改小。

当我们运行程序,通过visual工具可以看到visual GC的运行情况,如我们上篇文章所说,他会从Eden到s0到s1,s0和s1反复拷贝,直到代龄达到15次,则会到old,最后导致OOM。

(如果有的同学没有visual GC则需要去工具->插件自行安装)

 

当我们老年代里越来越多,放满会怎么办呢,会触发full gc,他回收的整个堆和方法区。

但因为我们代码里对象还在一直引用回收不了,于是发生了OOM。

整个gc的过程中,有STW(stop the world)机制,会暂停用户线程,当用户下单的时候,gc过程可能会触发STW机制,这时候用户体验会受影响,会感受到网络卡顿。

每个年代垃圾收集器是不一样的,后面会一一详解。

元空间是什么,jdk1.8之前叫永久代,之后叫元空间,直接在物理内存。所以方法区是在物理内存里。初始值是21m,最大的会把物理内存全部用完。

二、设置参数大小

堆:-Xms2048M -Xmx2048M 新生代:-Xmn1024M

方法区:-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M

设置元空间最大值(默认-1)和初始空间大小(默认21,字节为单位)

建议最大值和初始值元空间设置一样大。

栈:-Xss512k

栈里是给一个线程用的,所以设置小点

可以执行命令

Java -Xms2048M -Xmx2048M -Xmn1024M

-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M

-Xss512k -jar mic-eureka-server.jar

 

我们写代码实例-Xss设置的小点,则count打印的更小,因为栈内存变小了,这也意味着可以有更多的线程。

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

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

相关文章

【MySQL】根据MVCC和Read View分析事务的四种隔离级别在读写场景分别是如何体现其隔离性的

目录 一、数据库并发的三种场景 二、读写场景的MVCC 1、3个(4个)记录隐藏列字段 2、undo log(撤销日志) 3、模拟MVCC场景 3.1update场景 3.2delete场景 3.3insert 3.4select场景 4、Read View 5、RR和RC的区别 5.1当…

Squid 代理服务器应用

目录 一、Squid 概念1.1 代理的工作机制1.2 代理服务器的作用1.3 Squid 代理的类型 二、安装 Squid 服务2.1 编译安装 Squid2.2 修改 Squid 的配置文件2.3 Squid 的运行控制2.4 创建 Squid 服务脚本 三、构建传统代理服务器四、构建透明代理 服务器五、ACL 访问控制六、 日志分…

Python——模块与包

一、模块 (1)模块的定义 模块——Modules,通常一个py文件就是一个模块,我们在一个py文件里面会定义多个函数,也就是说一个模块中可以包含N多个函数。 (2)模块化编程的好处 ①方便其他程序和脚本的导入并使用…

从0到1精通自动化测试,pytest自动化测试框架,allure描述用例详细讲解(二十二)

一、前言 pytestallure是最完美的结合了,关于allure的使用,本篇做一个总结。 allure报告可以很多详细的信息描述测试用例,包括epic、feature、story、title、issue、testcase、severity等 环境准备: 1.python 3.6 2.pytest 4.5.…

使用Jetpack Compose创建滑动刷新(SwipeRefreshLayout)

Compose并未像View-based系统那样内建SwipeRefreshLayout。但Compose鼓励你自行创建需要的可组合函数,它提供了足够的工具供你完成此任务。 在本篇博客中,我们将展示如何在Jetpack Compose中创建滑动刷新界面的过程。但请注意,以下代码相当简…

flutter:实现一个简单的appBar上的搜索框、一个简单的搜索历史

搜索框 效果图 代码 import package:flutter/material.dart;class NovelSearch extends StatefulWidget {overrideState<StatefulWidget> createState() > _NovelSearchState(); }class _NovelSearchState extends State<NovelSearch> {String searchVal ;o…

DSP的CLA编程及注意事项之一

CLA简介 CLA(Control Law Accelerator),即控制律加速器&#xff0c;该 CLA 是完全可编程的独立 32 位浮点 CPU&#xff0c;专为优化数学密集型计算而设计&#xff0c;可显著提升控制算法的性能。与 执行指令和处理中断的标准传统处理器不同&#xff0c;CLA 实际上是任务驱动状…

Axure教程—上传文件

本文介绍用Axure制作文件上传效果 预览 预览地址&#xff1a;https://6q4of2.axshare.com 功能 1、点击”文件上传“按钮&#xff0c;显示上传的文件 2、点击”删除“图片&#xff0c;显示提示”是否要删除“&#xff0c;点击”是“&#xff0c;删除数据&#xff0c;点击”否…

开放式蓝牙耳机好不好,列举出几款值得入手的开放式蓝牙耳机

开放式耳机不仅能够提升幸福感还能听到周围环境声&#xff0c;大大提高安全性&#xff0c;不入耳不伤耳设计&#xff0c;既稳固又舒适&#xff0c;佩戴上耳无压力&#xff0c;还具有良好的音质和舒适的佩戴体验。但市面开放式耳机质量也参差不齐&#xff0c;有些使用感不佳&…

高压放大器使用说明书

高压放大器是一种电子设备&#xff0c;可以将输入信号的电能转换成输出信号的电能&#xff0c;从而实现信号放大的功能。它广泛应用于各种领域&#xff0c;例如通信、雷达、医疗等等。下面是一份高压放大器使用说明书&#xff0c;帮助用户更好地了解和使用该设备。 一、高压放大…

追思郭文彬:不管封我当什么长,下辈子我还当厨师!

6月28日&#xff0c;在北京联合大学旅游学院餐饮管理系的走廊&#xff0c;大大的长条桌上摆放着各类像生面点、面塑、包子等美食作品——牡丹、玉兰花、灯笼、小金鱼、花生、龙眼、山竹、翡翠白菜……作品精巧细致&#xff0c;形神兼备&#xff0c;宛若工艺品。 这些作品都出自…

MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存与查询

文章目录 在 handle 包下新建Jsonb处理类方式一方式二 PostgreSQL jsonb类型保存新建数据库表含有jsonb类型创建实体类Control创建保存数据库方法发起请求 PostgreSQL jsonb类型查询Control创建查询数据库方法发起请求 在 handle 包下新建Jsonb处理类 方式一 import com.alib…

(css)el-image图片完整显示,不拉伸收缩

(css)el-image图片完整显示&#xff0c;不拉伸收缩 <el-imagefit"contain" //重要设置src"../../../../1.png"altclass"chenguo_img_img" />

【RocketMQ】CentOS8安装RocketMQ

RocketMQ的安装 检查jdk环境 RocketMQ是基于java开发的&#xff0c;安装之前请先查看是否有jdk环境 java -version如果没有请去官网&#xff08;https://www.oracle.com/java/technologies/downloads/#java8&#xff09;下载 下载RocketMQ安装包 前往官网&#xff08;http…

信道编码:Matlab RS编码、译码使用方法

Matlab RS编码、译码使用方法 1. 相关函数 在MATLAB中进行RS编码的过程可以使用rsenc()函数或者comm.RSEncoder()函数。 1.1 rsenc()函数使用方法 在MATLAB中帮助中可以看到有三种使用形式&#xff0c;分别为 code rsenc(msg,n,k) code rsenc(msg,n,k,genpoly) code rs…

Excel拼接sql语句,批量导入数据

如下示例图&#xff1a; sql语句&#xff1a;"insert into table (code, path, method) values ("&A2&"’,"&B2&","&C2&"’’);" "("&A2&","&B2&","&C2…

数据分析Lambda架构详解

大家好&#xff0c;今天我们来介绍一个用于亿级实时数据分析架构Lambda架构。 Lambda架构 Lambda架构&#xff08;Lambda Architecture&#xff09;是由Twitter工程师南森马茨&#xff08;Nathan Marz&#xff09;提出的大数据处理架构。这一架构的提出基于马茨在BackType和Tw…

形式化验证,A Theoretical Framework for SymbolicQuick Error Detection(四)

一、Article:文献出处&#xff08;方便再次搜索&#xff09; &#xff08;1&#xff09;作者 Florian Lonsing, Subhasish Mitra, and Clark Barrett&#xff08;Stanford University&#xff0c;斯坦福大学&#xff09; &#xff08;2&#xff09;文献题目 A Theoretical F…

目标检测之遮挡物体检测

一、遮挡的类别 类内遮挡&#xff0c;目标被同一类别的目标遮挡类间遮挡&#xff0c;目标被其它类别的目标遮挡 二、解决方法 数据标注 精调遮挡目标的GT边界框 数据增强 cutout&#xff1a;在训练时&#xff0c;随机mask目标&#xff0c;提升模型对遮挡的应对能力mosaic…

如何排查Trino常见报错问题

一、背景 必须前置知识&#xff1a;《Trino权威指南》第12章及周边涉及知识&#xff0c;基于392版本的使用层面入门书&#xff0c;引擎创始人亲自编写&#xff1a; https://www.wisdominterface.com/wp-content/uploads/2021/07/Trino-Oreilly-Guide.pdfhttps://www.wisdomin…