java项目processes设置,Jvm调优和SpringBoot项目优化的详细教程

参考文章

1、先看一下未设置JVM参数的情况,默认情况下,没有设置任何Jvm参数。

00260M534-0.png

2、设置Jvm参数。

配置参数:

关于这些设置的JVM参数是什么意思,参考Jvm调优。

-XX:MetaspaceSize=128m (元空间默认大小)

-XX:MaxMetaspaceSize=128m (元空间最大大小)

-Xms1024m (堆最大大小)

-Xmx1024m (堆默认大小)

-Xmn256m (新生代大小)

-Xss256k (棧最大深度大小)

-XX:SurvivorRatio=8 (新生代分区比例 8:2)

-XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)

-XX:+PrintGCDetails (打印详细的GC日志)

复制参数:

-XX:MetaspaceSize=128m

-XX:MaxMetaspaceSize=128m

-Xms1024m

-Xmx1024m

-Xmn256m

-Xss256k

-XX:SurvivorRatio=8

-XX:+UseConcMarkSweepGC

-XX:+PrintGCDetails

进行配置:

00260J945-1.png

00260M110-2.png

设置成功:

00260L5Q-3.png

知识点:

JDK8之后把-XX:PermSize 和 -XX:MaxPermGen移除了,取而代之的是

-XX:MetaspaceSize=128m (元空间默认大小)

-XX:MaxMetaspaceSize=128m (元空间最大大小)

JDK 8开始把类的元数据放到本地化的堆内存(native heap)中,这一块区域就叫Metaspace,中文名叫元空间。

使用本地化的内存有什么好处呢?最直接的表现就是java.lang.OutOfMemoryError: PermGen 空间问题将不复存在,因为默认的类的元数据分配只受本地内存大小的限制,也就是说本地内存剩余多少,理论上Metaspace就可以有多大(貌似容量还与操作系统的虚拟内存有关?这里不太清楚),这解决了空间不足的问题。不过,让Metaspace变得无限大显然是不现实的,因此我们也要限制Metaspace的大小:使用-XX:MaxMetaspaceSize参数来指定Metaspace区域的大小。JVM默认在运行时根据需要动态地设置MaxMetaspaceSize的大小。

二、项目调优,修改配置文件。

其中比较重要的有:

参考文档

server.tomcat.max-connections=0 # Maximum number of connections that the server accepts and processes at any given time.

server.tomcat.max-http-header-size=0 # Maximum size, in bytes, of the HTTP message header.

server.tomcat.max-http-post-size=0 # Maximum size, in bytes, of the HTTP post content.

server.tomcat.max-threads=0 # Maximum number of worker threads.

server.tomcat.min-spare-threads=0 # Minimum number of worker threads.

总结

到此这篇关于Jvm调优和SpringBoot项目优化的文章就介绍到这了,更多相关Jvm调优和SpringBoot项目优化内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/THanHan/article/details/108222567

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

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

相关文章

Git问题Everything up-to-date解决

Git问题Everything up-to-date解决 【自己的亲身错误体验】 我的上一篇博客,说了怎么上传一个项目到git远程上面。今天我写好一个小栗子,准备再次上传的时候。我依旧是放在我的F:\github\js- 这个和我的github上的远程仓库相同名称的文件中的 在这里空白…

java超出gc开销限制_超出了GC开销限制– Java堆分析

java超出gc开销限制这篇文章是我们原来的GC开销超出问题模式的延续。 正确的Java堆分析对于消除O​​utOfMemoryError:GC开销问题至关重要。 如果您不熟悉此Java HotSpot 1.6错误,建议您首先阅读有关此主题的第一篇文章 。 本文将为您提供一个示例程序和…

Java接口long类型精度丢失,解决前后端交互Long类型精度丢失问题

雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失现象雪花算法得到的ID较长,传到前端后,精度丢失库中:23754851322302474后端:23754851322302474前端&a…

如何模拟Spring bean(版本2)

大约一年前,我写了一篇博客文章如何模拟Spring Bean 。 所描述的模式对生产代码几乎没有侵入性。 正如读者Colin在评论中正确指出的那样,基于Profile注释的间谍/模拟Spring bean是更好的选择。 这篇博客文章将描述这种技术。 我在工作中以及副项目中都成…

eclipse和jdk的版本问题,比如printf()出错

1.右键项目选中properties 2.Java Builder Path 》》》Libraries》》》选中JRE Syste Library[jre7]然后remove 3.Add Library》》》JRE Syetem Library》》》NEXT》》》Alternate JRE:选中最新的jie版本 4.Finish》》》OK! 5.再在右键项目选中properties 》》》Ja…

java自定义一个timeout,Timeout操作符 RxJava 学习笔记二十一

timeout用于检测在给定时间内observables没有及时响应。如果指定的时间量没有发出任何项目,则超时会使observables失败并出现TimeoutException。我们将从debounce的示例中重用我们的observable来演示超时。输出:只要值不超过200ms,就会输出。…

用xshell ssh连接测试服务器时候出的问题

问题还原:用ssh连接测试服务器 给我结结实实报了个错 FBIwarning: ----------------------------------------------------------------------------------------------------------------------------以上 问题还原 解决过程:百度 博客地址http://blog.…

maven集成spring_Maven集成测试和Spring Restful Services

maven集成spring介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后,许多人要求我提供比最初使用的示例更实际的示例。 这篇文章显示了如何在实…

WebService.asmx架设后,显示调用按钮的方法

我们在VS本地调试WebService的时候,页面是可以调试的,如下图 但是在发布以后,通过浏览器访问服务器上的地址,是不能调试你的程序的,就变成了这个样子: 可以通过修改服务器上的web.config达到远程调试的效果…

复习者-Java EE 7概览

随着红帽JBoss企业应用平台7(EAP 7)的出现,甚至最近刚刚通过Java EE 7认证的WebLogic服务器,我认为现在应该为您重新介绍Java Enterprise Edition 7的时候了功能,并指向更多资源。 Java EE 7 –开发人员的生产力&…

php教程知识点归纳,PHP知识点小结

PHP知识点总结?1.?DIRECTORY_SEPARATOR??? ? ? 因为在window上分隔符是"\"而在linux上分隔符是"/" ?使用这个符号就可以避免这个问题。??2.?realpath??? ? ?返回文件所在的绝对路径。??3. 在php中 0null 是成立的。?? ???4.file_ge…

40:数组中只出现一次的数字

/*** 面试题40:数组中只出现一次的数字* 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。*/ public class _40_num_one_times {public static void main(String[] args){Solution40 solution40 new Solu…

按窗口文件php代码,在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法...

有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件。一直想要怎么才能不用创建文件,才能直接执行PHP代码片段呢?终于找到了方法&a…

MySQL 汉字转拼音

一 . fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"中国人"->Z) CREATE FUNCTION fristPinyin(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 BEGINDECLARE V_RETURN VARCHAR…

java中npe问题,【Java 8】巧用Optional之优雅规避NPE问题

避之不及的 NullPointerExceptionNPE : NullPointerException空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比…

adf435编程_动态ADF列车:以编程方式添加列车停靠点

adf435编程我将展示如何以编程方式“即时”将火车停靠站添加到ADF火车中。 在我的用例中,我有一些票务预订应用程序。 它具有训练模型的有限任务流。 在火车的第一站,用户输入乘客数量,在随后的站点,他们输入一些乘客信息。 必须根…

JAVA消息服务JMS规范及原理详解

一、简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Ja…

php mk的支持扩展,Linux部署Redis及PHP-redis扩展

Redis是一个key-value存储系统,属于我们常说的NoSQL。它遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它常用在缓存、队列、Pub/Sub、计数统计、排行榜、投票与排序等场景。本文介绍如何在CentOS7上安装…

定制Hamcrest Matchers

本文是我们名为“ 用Mockito进行测试 ”的学院课程的一部分。 在本课程中,您将深入了解Mockito的魔力。 您将了解有关“模拟”,“间谍”和“部分模拟”的信息,以及它们相应的Stubbing行为。 您还将看到使用测试双打和对象匹配器进行验证的过…

Fiddle用于移动端抓包

一、什么情况下可以用到 1、调查参考其他移动端网站的抓包,他们传输方式。如微信上京东的智能机器人的包、移动端的请求接口格式、如何实现的效果等。 2、调试本地移动端页面的测试页面效果是否有问题。如:页面的样式、js、结构等。 二、操作(http) a、安装猎豹免费…