Jvm参数调优初探索(一)
来源:互联网 发布:电视连接网络怎么设置 编辑:程序博客网 时间:2024/05/18 03:14
之前学习Jvm相关的理论知识,偶尔可能在程序出现内存溢出时候会放下手中工作调一下参数,解决问题。但是没有系统实践过,最近相对比较稍微轻松一点,尝试实践一些Jvm参数的使用,并记录一下笔记!
本次程序尝试使用的jvm参数有:
-XX:+PrintCommandLineFlags 打印jvm的参数的参数
例如:写一个HelloWorld程序,将VM参数设置为:-XX:+PrintCommandLineFlags ,将会输出如下信息:
-XX:InitialHeapSize=64718336 -XX:MaxHeapSize=1035493376 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
通过输出信息我们可以看出程序的JVM参数为:初始堆大小为=64718336 ,最大堆大小为:1035493376等信息!
-XX:+PrintGCDetails参数是程序运行时候打印JVM运行的垃圾回收信息
设置最大堆最小堆大小 -Xmx1000m -Xms1000m
-XX:NewRatio=4 老年代和新生代的堆内存分配,例如此时如果堆=1000MB的话,那么此时老年代大小就是800MB,新生代大小是200MB(Eden+S0+S1一共200MB)
-XX:SurvivorRatio=3 设置eden/s0=eden/s1,在本程序中由于SurvivorRatio=3 所以eden/s0=eden/s1=3,因此如果新生代有200MB的大小的话,则Eden=120MB,s0=s1=40,所以一共为120+40+40=200
例如程序:
package com.daxin;/** * * @author daxin * * @email leodaxin@163com * * @date 2017年5月8日 下午8:06:13 * */public class VM {public static void main(String[] args) {System.out.println("Hello World ...");}}
我们可以使用jdk附带的工具jvisualvm来查看堆栈信息:
新生代和老年代的堆栈信息分配和我们陈述的正好吻合!
- Jvm参数调优初探索(一)
- JVM参数初探
- jvm性能调优--初探
- JVM参数调优
- JVM参数调优
- JVM参数调优
- JVM调优参数
- JVM参数调优
- JVM参数调优
- JVM 参数调优
- JVM参数调优
- jvm参数调优
- jvm 参数调优
- JVM参数调优
- jvm参数调优
- jvm参数调优
- jvm参数调优
- jvm调优参数
- 部分云台以及车载摄像机的种类和功能
- 欢迎使用CSDN-markdown编辑器
- 2017CCPC- 女生专场 第2题(hdu 6024)和第8题(hdu 6030)
- HelloJni导入到Eclipse及命令行编译
- elasticsearch 组合查询
- Jvm参数调优初探索(一)
- ’com.android.support:appcompat-v7:version‘不兼容
- python 读取csv文件
- win7 显示器驱动已停止响应并且已恢复
- 决策树算法实现(二)
- QDockWidget嵌套布局详解-实现Visual Studio布局
- windows(服务端)-linux ssh 公钥无密码访问
- 111111
- [Leetcode 25] Reverse Nodes in k Group