可视化界面在线生成JVM参数 小鱼儿 2023-02-15 03:55 4阅读 0赞 ![format_png][] 在线生成JVM参数配置 ![jvm.png][] 网址:http://jvmmemory.com ![format_png][] 堆参数设置 -XX:+PrintGC 使用这个参数,虚拟机启动后,只要遇到GC就会打印日志。 `-XX:+PrintGCDetails` 可以查看详细信息,包括各个区的情况 `-XX:+PrintHeapAtGC` 打印 GC 前后的详细堆栈信息 \-Xms 设置Java程序启动时初始化JVM堆内存大小。 `-Xmx` 设置Java程序能获得最大JVM堆内存大小。 在实际工作中,我们可以直接将初始的堆大小与最大堆大小设置相等,这样的好处是可以减少程序运行时的垃圾回收次数,从而提高性能。 -XX:+PrintFlagsInitial打印JVM初始化参数。 -XX:+PrintFlagsFinal 标记人为修改过的参数。 -XX:+PrintCommandLineFlags 查看默认垃圾回收器。 新生代参数设置 -XX:NewSize=5m设置新生代最小空间大小 -XX:MaxNewSize=10m 设置新生代最大空间大小 -Xmn2g 可以设置新生代的大小,设置一个比较大的新生代会减少老年代的大小,这个参数对系统性能以及GC行为有很大的影响,新生代大小一般会设置整个堆空间的1/3。 -XX:SurvivorRatio=8(默认) 用来设置新生代中eden空间和from/to空间的比例。含义:-XX:SurvivorRatio=eden/from=eden/to。基本策略:尽可能将对象预留在新生代,减少老年代的GC次数。 -XX:NewRatio=2(默认) 设置新生代和老年代的比例:-XX:NewRatio=老年代/新生代。 对象进入老年代参数设置 -XX:MaxTenuringThreshold=15 新生代每次GC之后如果对象没有被回收,则年龄加1,默认情况下为15 ![format_png][] ### 堆溢出参数配置 ### -XX:+HeapDumpOnOutOfMemoryError 使用该参数可以在内存溢出时导出整个堆信息 -XX:HeapDumpPath=D:/OOM.dump 可以设置导出堆的存放路径。 ![format_png][] ### 堆栈相关参数配置 ### -Xss1m(默认)来指定线程的最大栈空间 ![format_png][] ### 方法区相关参数配置 ### JDK1.2 ~ JDK6,使用永久代来实现方法区 -XX:PermSize=64M设置永久代最小空间大小。 -XX:MaxPermSize=64M(默认) 如果系统运行时生产大量的类,就需要设置一个相对合适的方法区,以免出现永久区内存溢出的问题。 Java8,元空间取代永久代,存储位置不同,永久代物理是堆的一部分,和新生代,老年代地址是连续的 而元数据放到本地化的堆内存(native heap)中,这一块区域就叫Metaspace,中文名叫元空间。 存储内容不同,元空间存储类的元信息 静态变量和常量池等并入堆中。 相当于永久代的数据被分到了堆和元空间中。 -XX:MetaspaceSize=128m(默认)初始化大小。 -XX:MaxMetaspaceSize=128m JVM默认在运行时根据需要动态地设置MaxMetaspaceSize的大小。 直接内存(堆外内存)参数配置 \-XX:MaxDirectMemorySize=64m 该值是有上限的,默认是64M,最大为sun.misc.VM.maxDirectMemory()。 直接内存使用达到上限时,就会触发垃圾回收(Full GC),如果不能有效的释放空间,就会引起系统的OOM。 注:heap ByteBuffer,该类对象分配在JVM的堆内存里面,直接由Java虚拟机负责垃圾回收。 direct ByteBuffer是通过jni在虚拟机外内存中分配的。 生命周期中等或较长的对象,适合堆外内存。 直接的文件拷贝操作,或者I/O操作,适合堆外内存: 直接使用堆外内存就能少去资源从用户内存拷贝到系统内存的操作。 DirectByteBuffer是通过虚引用(Phantom Reference)来实现堆外内存的释放的: 虚引用主要被用来跟踪对象被垃圾回收的状态, 通过查看引用队列(ReferenceQueue)中是否包含对象所对应的虚引用来判断它是否即将被垃圾回收,从而采取行动。 它并不被期待用来取得目标对象的引用。 初始化DirectByteBuffer对象时,如果当前堆外内存的条件很苛刻时,会主动调用System.gc()强制执行Full GC。 ![format_png][] ### TLAB参数配置 ### Thread Local Allocation Buffer即线程本地分配缓存: 一个线程专用的内存分配区域,是为了加速对象分配对象而生的。 每一个线程都会产生一个TLAB,该线程独享的工作区域,Java虚拟机使用这种TLAB区来避免多线程冲突问题,提高了对象分配的效率。 \-XX:+UseTLAB(默认开启) 使用TLAB \-XX:TLABSize=64k(默认) 设置TLAB初始化大小 \-XX:TLABRefillWasteFraction=64 设置维护进入TLAB空间的单个对象大小,它是一个比例值,默认为64,即如果对象大于整个空间的1/64,则在堆创建对象。 -XX:+ResizeTLAB 自调整TLABRefillWasteFraction阈值。 \-XX:+PrintTLAB 查看TLAB信息 ![format_png 1][] [java内存溢出问题分析过程二(附MAT超全操作文档)][java_MAT] [使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一)][Eclipse Memory Analyzer Tool_MAT] [一文让你理解什么是shallow heap及retained heap][shallow heap_retained heap] [内存分析诊断系列-理解heap dump][-_heap_dump] [记一次服务器被当肉鸡挖矿的经历][Link 1] [如何编写一个可复用的SpringBoot应用运维脚本][SpringBoot] [高效率编写Dockerfile需要绕过的一些坑][Dockerfile] [Mysql百万量级数据高效导入Redis][Mysql_Redis] [多线程之CountDownLatch的用法及原理笔记][CountDownLatch] ![format_png 2][] 我就知道你“在看” ![format_png 3][] [format_png]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi83UVJUdmtLMnFDNm1wdDdKYkJvQ2RJYmtmNEllVVVzakM1a1g3emljam9hQnE3NXEycUFWbVlZS09obTh0aWNJbHFDU3FUNlBQTThSODRXOU96NGREbTlBLzY0MA?x-oss-process=image/format,png [jvm.png]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94aWNXWVRTSUN6UnUxQ1RsVUxNYmwyUWdpYmJwWVk2V2dUOVJ6NlpYVmhyYmg5NFV6Q0hsU1Vubmo3TFdSSTlMZEdyV29WRmliRWc2NEJyS3kwdzBhZldkdy82NDA?x-oss-process=image/format,png [format_png 1]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi94aWNXWVRTSUN6UnRDYWxzMWRGZFVjZ1lTWDVFMFhQN2liWklsc2FpYzNnMGg5TWtDT2VONkI5aWNuOHJCa3Z0TnBWbmxoc2hGQ1BxNHFXcjFxMnJYdk5HSmcvNjQw?x-oss-process=image/format,png [java_MAT]: https://blog.csdn.net/u012811805/article/details/104770774 [Eclipse Memory Analyzer Tool_MAT]: http://mp.weixin.qq.com/s?__biz=MzU2NDc4MjE2Ng%3D%3D&chksm=fc44f7e8cb337efe3c8a0d65fdcad6021c841cd5c00c47e20b09ff7fa31470a29865cda12a0a&idx=1&mid=2247484113&scene=21&sn=2f603fec4d105d832db0783369b9fe57#wechat_redirect [shallow heap_retained heap]: https://blog.csdn.net/u012811805/article/details/104737895 [-_heap_dump]: http://mp.weixin.qq.com/s?__biz=MzU2NDc4MjE2Ng%3D%3D&chksm=fc44f794cb337e82fdcd6ad918d1a490d90908b6f453ddb45ad55b4a24a8b749e09baa9cc7a8&idx=1&mid=2247484077&scene=21&sn=5ae695faef094c78f2aa257b58b3034a#wechat_redirect [Link 1]: http://mp.weixin.qq.com/s?__biz=MzU2NDc4MjE2Ng%3D%3D&chksm=fc44f7a7cb337eb1916c752918a881cd6cc033caa83657876ae3292e9e0639b7040ecfb37a9c&idx=1&mid=2247484062&scene=21&sn=d16d8ad10c5d4d26919276e7973708a5#wechat_redirect [SpringBoot]: http://mp.weixin.qq.com/s?__biz=MzU2NDc4MjE2Ng%3D%3D&chksm=fc44f7adcb337ebbd0f51405a4502fc8e0ad0afdc562cbab581209e92b040645de7189a96f23&idx=1&mid=2247484052&scene=21&sn=e8e0520c74584721b366085834fd0489#wechat_redirect [Dockerfile]: https://blog.csdn.net/u012811805/article/details/104638007 [Mysql_Redis]: http://mp.weixin.qq.com/s?__biz=MzU2NDc4MjE2Ng%3D%3D&chksm=fc44f743cb337e55a10570a29831dd060548a10e51988cbe27440c6c92d6b54589bf5accbc0d&idx=1&mid=2247484026&scene=21&sn=e537c94bb695d28f7a82f19f4b688899#wechat_redirect [CountDownLatch]: https://blog.csdn.net/u012811805/article/details/104203801 [format_png 2]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94aWNXWVRTSUN6UnRUdWZMQXJKQUE4UWFLN1hPaWJIcGxKaWIwY3RDQ1lKWFhuaWJnd3hpYzJVdVA3VnRVSG9RZVRsU0g5dXRZcGIwTnJtOGRUNkFXaWJMY094US82NDA?x-oss-process=image/format,png [format_png 3]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi94aWNXWVRTSUN6UnRDYWxzMWRGZFVjZ1lTWDVFMFhQN2liTVhOMUtqMlN0cmptVWoybEpMbHp0WUo0ejZqN1JYd0VGRUtjYUhpYmt4ekt2ODVqMlgwYTJLZy82NDA?x-oss-process=image/format,png
相关 可视化界面在线生成JVM参数 ![format_png][] 在线生成JVM参数配置 ![jvm.png][] 网址:http://jvmmemory.com ![format_png][] 堆参 小鱼儿/ 2023年02月15日 03:55/ 0 赞/ 5 阅读
相关 Vue搭建可视化界面 最近更新: 收到很多私信,大家都想了解构建的源码和过程,因为之前涉及到很多公司内部业务和隐私,所以不方便放出来。应大家强烈要求,这里我将重写一个活动页构建工具供大家参考, 青旅半醒/ 2023年01月17日 02:26/ 0 赞/ 157 阅读
相关 echarts 可视化表格参数配置 以下是我在使用 Echarts 表格对不同配置信息的使用,对我使用过的做一个总结: let option ={ // 默认色板 color 桃扇骨/ 2023年01月06日 05:47/ 0 赞/ 234 阅读
相关 [经验]连接Ubuntu服务器可视化界面 使用指令: ssh -X username@address 这里需要加上`-X`参数。 连接上服务器以后,再运行带有GUI的指令便可以显示出用户界面。 -- 我不是女神ヾ/ 2022年11月21日 01:26/ 0 赞/ 268 阅读
相关 Oracle数据库的可视化界面 1.scott用户的登陆 地址为:192.168.209.130为服务器的ip地址 [http://192.168.209.130:5560/isqlplus][htt ╰半橙微兮°/ 2022年09月30日 10:52/ 0 赞/ 167 阅读
相关 用Eclipse进行可视化Java界面设计 ![未加星标][unstarred.gif] [转帖:用Eclipse进行可视化Java界面设计][Eclipse_Java] ![字体大小][toolbar_fontsiz 梦里梦外;/ 2022年08月27日 10:58/ 0 赞/ 350 阅读
相关 Docker(七)----搭建Portainer可视化界面 一、什么是Portainer? Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器 桃扇骨/ 2022年05月24日 12:42/ 0 赞/ 211 阅读
相关 [JVM]虚拟机监控工具(可视化) 1、Jconsole 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GU Myth丶恋晨/ 2022年05月09日 06:50/ 0 赞/ 375 阅读
相关 Docker----搭建Portainer可视化界面 一、什么是Portainer? Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器 女爷i/ 2022年05月06日 04:26/ 0 赞/ 287 阅读
还没有评论,来说两句吧...