当前位置:首页 > Java技术 > 文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档

文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档

2022年11月09日 10:31:17Java技术14

精品文档

JVM性能调优解决方案(总结)

一、引言

本文的读者是技术支持人员。阅读本文后,你将理解 jboss 的启动脚本文件

(run.sh )中有一系列的 JVM配置参数的含义,以及如何调整它们,从而使得

MegaEyes中心管理服务器的性能得到优化。

MegaEyes中心管理服务器的性能调优涉及到系统的多个方面, 包括 MegaEyes

应用本身、应用服务器( jboss )、数据库和 java 虚拟机( JVM)等等。本文重

点介绍 JVM的性能优化。

需要注意的是, JVM性能调优具有应用独特性( application specific ),

就是说,不同的应用情形应该有不同的调整方案,这就要求你首先要观察 JVM

的运行状态, 然后根据观察结果调整参数。 没有一个通用的调优方案可以适用于

所有的 MegaEyes应用。

什么是性能调优

对性能调优,不同的人有不同的理解,本文是指对下列指标最大化:

并发用户( concurrent users ),在服务请求失败或请求响应超过预期

时间之前,系统支持的最大并发用户数量。

系统容量( throughput ),可以用每秒处理的事务( transaction )数量

计算。

可靠性( reliability )

换句话说,我们想对更多的用户提供更快捷的、不会中断的服务。

JVM性能调优的重点

JVM的性能调优的重点是垃圾回收 (gc,garbage collection )和内存管理。

垃圾回收的时候会导致整个虚拟机暂停服务, 因此,应该尽可能地缩短垃圾回收

的处理时间。

JVM内存

JVM占用的内存称为堆( heap),它被分为三个区:年轻( young ,又称为

new)、老( tenured ,又称为 old )和永生( perm)。这三个区是按照 java 对

1 欢迎下载

精品文档

象的生存期划分的,在 new 区的对象生存期最短,很快就会被 gc 回收;perm 区

的对象生存期最长,与 JVM同生死。 Perm区的对象不会被 gc 回收。

new 区又被分为三个部分:伊甸园( eden)和两个幸存者( survivor )。对

象的创建总是在 eden 部分(这大概就是命名该部分为 eden 的原因吧)。两个

survivor 中总有一个是空的, 它作为另一个 survivor 的缓冲区。当 gc 发生时,

所有 eden 和 survivor 中活下来的对象被移动到另一个 survivor 中。对象会在

两个 survivor 之间不断移动,直到活得足够久,然后移动到 old 区。我们可以

猜想,之所以如此划分使用内存, 肯定是为了缩短 gc 的执行时间, 提高 gc 的执

行效率。

垃圾回收算法

除了默认的垃圾回收算法外, JVM还提供了两个:并行( parallel )和并发

(co

作者:XY同学
来源链接:https://blog.csdn.net/weixin_30607125/article/details/119627605

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68657.html

标签: JVM调优
分享给朋友:

“文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档” 的相关文章

[JVM教程与调优] 为什么要学习JVM虚拟机?

[JVM教程与调优] 为什么要学习JVM虚拟机?

JVM在我们开发阶段不会用到,但是到了生产环境中,那么就会变得非常重要了。 为什么这么说呢? 一方面,因为我们的生产环境是比较复杂的。各种可能的问题都会出现,比如说:硬盘坏了、网络坏了、CPU利用率高了等问题层次不穷。 另外一方面,在我们生产环境出现问题,还不好进行定位。因为没...

Java String(JVM角度)

Java String(JVM角度)

基本特性 存储结构变更 jdk8及之前的jdk版本中,String的内存存储结构是char[]字符数组,但是在Jdk9及之后改成了byte[]字节数组。 原因是,堆空间中大部分的字符串内容都是latin字符,基本上...

深入理解JVM(1)——JVM内存模型

Java虚拟机的内存空间分为五个部分,分别是: 程序计数器; Java虚拟机栈 本地方法栈 堆 方法区 接下来对这五部分分别进行详细的介绍 1、程序计数器:   a)什么是程序计数器:程序计数器是内存中的一个很小...

JVM - 双亲委派

JVM - 双亲委派

# JVM - 双亲委派 JDK版本:1.8 # 1、双亲委派机制 Java虚拟机对于class文件采用的加载策略是按需加载。也就是当需要使用该类时才会将该类的.class文件加载到内存中生成Class对象。并且加载某...

jvm-java 内存模型  以及各个分区具体内容

jvm-java 内存模型 以及各个分区具体内容

java内存模型,这里其实是指 jvm运行时内存模型 1 每一个应用程序,都有一个JVM 而不是 多个应用程序,共享一个jvm 2 java源文件,首先通过编译器,把java语法的代码,编译成 jvm语法的字节码文件 这个过程,是不涉及到...

jvm中关于slot的理解

jvm中关于slot的理解

jvm中关于slot的理解 参数值的存放总是在局部变量数组的index0开始,到数组长度-1的索引结束。 局部变量表,最基本的存储单元是slot(变量槽) 局部变量表中存放编译期可知的各种基本数据类型(8种),引...

深入底层之JVM的运行原理和性能调优

深入底层之JVM的运行原理和性能调优

学海无涯  不进则退 如存在问题 或有更好建议 请联系 作者QQ:2940500   前言: 了解程序的运行原理 要先学会看字节码文件 然后这样才能真正的去看程序是怎么运行的  ,不是说在开发工具 里deb...

JVM 内存模型

JVM 内存模型

Java 的内存模型JMM(Java Memory Model) JMM主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Workin...

JVM-内存模型与回收算法剖析

JVM-内存模型与回收算法剖析

JVM内存模型 思考:JVM为什么有1个Eden区和2个Survivor区。 程序计数器 产生:由于CPU时间片轮转机制,众多线程在并发执行过程中,任何一个确定的时刻,一个处理器...

【jvm】jvm 参数设置查看与设置

【jvm】jvm 参数设置查看与设置

我们使用java -X可以看到java的-X系列的参数,Xmx和Xms是相对应的。 一个是memory max(Xmx) 一个是memory start (Xms)。 Xmx代表程序最大可以从操作系统中获取的内存数量,Xms代表程序启动的时候从操作系统中获取的内存数量...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。