重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在我们讨论JVM调优之前,让我们先讨论一下JVM。什么是JVM?实际上,JVM是Java虚拟机的缩写。Java能够跨平台的原因实际上是基于JVM。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、雅安服务器托管、营销软件、网站建设、旬阳网站维护、网站推广。尽管JVM本身是一个计算机程序,但它也有自己的一套软件和硬件环境。
就像你买了一台新电脑。系统安装后,您可以正常使用计算机。但是很多用户需要自定义电脑,比如桌面背景。同样,JVM安装后,即使没有任何额外的设置,也可以正常工作,但在某些情况下,还需要对JVM进行调优,而调优的手段就是更改JVM参数。
JVM调优的目的是使用尽可能少的内存和CPU,使Java程序获得更高的吞吐量和更低的延迟。
2.JVM常用调优项
JVM最常用的调优是更改JVM的默认参数,例如:
大堆大小:-Xmx
新生成大小:-XMN
不朽生成的最小值:-XX:permsize
不朽生成的大值:-XX:maxpermsize
事实上,JVM的默认设置可以满足一般项目的需要。似乎只要您更改参数,JVM的调优就非常简单,但不是我,而是您认为的那么简单。
如果JVM调优不好,会影响整个项目的稳定性。在正常情况下,不建议调优JVM,除非Java项目内存太高,服务器内存太低。
jvm调优参数?-XMSinitialheapsize
-Xmxmaximumheapsize
-XMNyounggenerationsize(1.4或lattice)
-XX:newsizesetyounggenerationsize(对于1.3/1.4)
-XX:maxnewsizeyounggenerationmaximum(对于1.3/1.4)
-XX:permsizesetpermGeninitialvalue
-XX:maxpermsizesetpermGenpersistentgeneration大值
-XSS每个线程的堆栈大小
-XX:threadstacksize线程堆栈大小
-XX:newratio年轻一代(包括Eden和两个幸存区域)与老一代(不包括持久性生成)的比率
-XX:survivoratioEden区域与幸存区域的比率
-XX:largepagesizeinbytes内存页大小不能设置太大,这将影响perm的大小
-XX:快速优化原始类型的usefastaccessormethods
-XX:禁用显式系统.gc()
-20:Maxtenuringthreshold垃圾时代
JVM调优主要是在程序执行过程中合理分配内存资源,设置程序执行后的内存恢复机制。
Tomcat调优主要是设置大并发线程数、初始化期间创建的线程数以及超过大并发线程数后可以等待连接的请求数。
jvm调优和tomcat调优的区别?JVM性能调优有很多设置,只需参考JVM参数即可。调优的主要目的是控制GC的行为。GC是后台处理,但它也消耗系统性能,因此它经常根据系统运行程序的特点改变GC的行为,控制JVM堆栈的大小。一般来说,您不需要修改JVM的内存分配。但是,当程序中的新一代对象在一段时间内增多时,需要控制新一代堆的大小。同时,需要控制JVM的总大小以避免内存溢出控制JVM线程的内存分配。如果是多线程程序,还可以控制线程和线程操作所消耗的内存,需要经过一定时间的观察才能配置最佳结果
1。布尔型参数值
-XX:<option>“”,表示启用选项
-XX:<option>“-”,表示关闭选项
]2。数字类型参数值:
-20:<option>=<number>为选项设置数字类型值,该值可以跟随单位,例如,“m”或“m”表示兆字节“K”或“K”千字节“g”或“g”千兆字节。32K与32768大小相同。
3.字符串类型参数值:
-XX:<option>=<string>为选项设置字符串类型值,该值通常用于指定文件、路径或一系列命令列表。
例如:-XX:heapdumppath=/转储.core