jvm性能调优实际案例 直接优化JVM和Tomcat JVM(修改catalina.sh)优化有什么区别?
直接优化JVM和Tomcat JVM(修改catalina.sh)优化有什么区别?
谢谢。
javaopts是tomcat、Weblogic和其他中间件的自定义变量。以其他方式运行Java程序不使用此环境变量,例如直接使用Java-jar命令或使用其他中间件。因此,如果opts被设置为环境变量,它将只适用于Tomcat。启动java进程的其他方法不会自动识别和使用此环境变量。因此,这种方法不能杀死该服务器上的所有JVM方案。它只设置Tomcat参数的默认值来启动JVM。
是否设置此环境变量取决于实际情况。如果在服务器上部署了多个Tomcat实例,并且资源使用相对平均,那么这可以减少配置工作负载。如果在Tomcat中运行的应用程序的特性非常不同,必须针对每个应用程序进行优化,那么设置这个环境变量并不重要,相反,很容易引起问题。
希望对课题有所帮助,谢谢。
一般的Java项目需要JVM调优吗?注意哪些?
Java以其开源、高效、跨平台和良好的生态性成为主流编程语言。即使是以前使用其他技术栈的公司,现在也在慢慢地向Java平台迁移。我相信很多Java学生在面试时都会被问到关于JVM调优的问题,但是他们似乎很少在日常工作中进行JVM调优。您想为一般Java项目进行JVM调优吗?
在我们讨论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项目内存太高,服务器内存太低。
学java有必要把jvm弄的特别透彻吗?
如果你只考虑一些特定的场景,没有什么是“必要的”。在这样的场景中,你总能找到一些做不到但仍然生活得很好的例子。
如果我们考虑到Java开发人员的能力提高,那么一些关于JVM的知识应该得到高度重视。例如,GC策略、JVM调优。并不是说你必须学习,而是如果你有精力和兴趣学习一门新的语言,或者花大量的精力参加网络讨论,JVM的知识是面试的必备知识。如果你不这样做,你很可能会被通过。你说你想不想学?对于正常工作,在内存异常的情况下,你知道JVM有一定的基础,对你来说更好的发现问题吗?要注重实战,理论有时同样重要,实战可以在学习的过程中进行。例如,如果常见的JDK检测工具的基本功能都很清楚,如果有问题,你知道如何分析这些工具吗。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。