博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK7与8内存参数解析与修改
阅读量:7128 次
发布时间:2019-06-28

本文共 5180 字,大约阅读时间需要 17 分钟。

JDK内存

jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配。

运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)

  • Xss:每个线程的stack大小(栈)
  • Xmx:JAVA HEAP的最大值、默认为物理内存的1/4
  • Xms:JAVA HEAP的初始值,server端最好Xms与Xmx一样
  • Xmn:JAVA HEAP young区的大小
  • XX:PermSize:设定内存的永久保存区域(JDK7)
  • XX:MaxPermSize:设定最大内存的永久保存区域(JDK7)

JDK1.7调节参数与查看参数:

Administrator@MicroWin10-1535 MINGW64 ~/Desktop/test$ javac Test.javaAdministrator@MicroWin10-1535 MINGW64 ~/Desktop/test$ java -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m Test

 

C:\Users\Administrator>jps19284 Jps6628 NetworkServerControl180722234021860 TestC:\Users\Administrator>jmap -heap 21860Attaching to process ID 21860, please wait...Debugger attached successfully.Server compiler detected.JVM version is 24.80-b11using thread-local object allocation.Parallel GC with 4 thread(s)Heap Configuration:   MinHeapFreeRatio = 0   MaxHeapFreeRatio = 100   MaxHeapSize      = 1073741824 (1024.0MB)   NewSize          = 1310720 (1.25MB)   MaxNewSize       = 17592186044415 MB   OldSize          = 5439488 (5.1875MB)   NewRatio         = 2   SurvivorRatio    = 8   PermSize         = 536870912 (512.0MB)   MaxPermSize      = 536870912 (512.0MB)   G1HeapRegionSize = 0 (0.0MB)Heap Usage:PS Young GenerationEden Space:   capacity = 268959744 (256.5MB)   used     = 10758632 (10.260231018066406MB)   free     = 258201112 (246.2397689819336MB)   4.000090065522965% usedFrom Space:   capacity = 44564480 (42.5MB)   used     = 0 (0.0MB)   free     = 44564480 (42.5MB)   0.0% usedTo Space:   capacity = 44564480 (42.5MB)   used     = 0 (0.0MB)   free     = 44564480 (42.5MB)   0.0% usedPS Old Generation   capacity = 716177408 (683.0MB)   used     = 0 (0.0MB)   free     = 716177408 (683.0MB)   0.0% usedPS Perm Generation   capacity = 536870912 (512.0MB)   used     = 2614432 (2.493316650390625MB)   free     = 534256480 (509.5066833496094MB)   0.48697590827941895% used1523 interned Strings occupying 140352 bytes.

 

 

 

 

在JDK1.8中,取消了PermGen,取而代之的是Metaspace,所以PermSize和MaxPermSize参数失效,取而代之的是元空间:

 例如下面配置设置元空间的大小和最大大小:(等同于JDK7的永久区)

liqiang@root MINGW64 ~/Desktop/新建文件夹 (2)$ javac Test.javaliqiang@root MINGW64 ~/Desktop/新建文件夹 (2)$ java -Xms1024m -Xmx1024m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m Test

 

 

 查看参数:

C:\Users\liqiang>jmap -heap 2381712Attaching to process ID 2381712, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.121-b13using thread-local object allocation.Parallel GC with 4 thread(s)Heap Configuration:   MinHeapFreeRatio         = 0   MaxHeapFreeRatio         = 100   MaxHeapSize              = 1073741824 (1024.0MB)   NewSize                  = 357564416 (341.0MB)   MaxNewSize               = 357564416 (341.0MB)   OldSize                  = 716177408 (683.0MB)   NewRatio                 = 2   SurvivorRatio            = 8   MetaspaceSize            = 536870912 (512.0MB)   CompressedClassSpaceSize = 1073741824 (1024.0MB)   MaxMetaspaceSize         = 536870912 (512.0MB)   G1HeapRegionSize         = 0 (0.0MB)Heap Usage:PS Young GenerationEden Space:   capacity = 268435456 (256.0MB)   used     = 10737448 (10.240028381347656MB)   free     = 257698008 (245.75997161865234MB)   4.000011086463928% usedFrom Space:   capacity = 44564480 (42.5MB)   used     = 0 (0.0MB)   free     = 44564480 (42.5MB)   0.0% usedTo Space:   capacity = 44564480 (42.5MB)   used     = 0 (0.0MB)   free     = 44564480 (42.5MB)   0.0% usedPS Old Generation   capacity = 716177408 (683.0MB)   used     = 0 (0.0MB)   free     = 716177408 (683.0MB)   0.0% used1597 interned Strings occupying 146680 bytes.

 

 

补充:查看JVM参数的方法

第一种:jps+jmap

C:\Users\Administrator>jps16740 Main8388 Jps424811564 Server11884 NetworkServerControlC:\Users\Administrator>jmap -heap 11564Attaching to process ID 11564, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.121-b13using thread-local object allocation.Parallel GC with 4 thread(s)Heap Configuration:   MinHeapFreeRatio         = 0   MaxHeapFreeRatio         = 100   MaxHeapSize              = 2155872256 (2056.0MB)   NewSize                  = 718274560 (685.0MB)   MaxNewSize               = 718274560 (685.0MB)   OldSize                  = 1437597696 (1371.0MB)   NewRatio                 = 2   SurvivorRatio            = 8   MetaspaceSize            = 536870912 (512.0MB)   CompressedClassSpaceSize = 1073741824 (1024.0MB)   MaxMetaspaceSize         = 536870912 (512.0MB)   G1HeapRegionSize         = 0 (0.0MB)Heap Usage:PS Young GenerationEden Space:   capacity = 538968064 (514.0MB)   used     = 132464928 (126.32839965820312MB)   free     = 406503136 (387.6716003417969MB)   24.577509661129014% usedFrom Space:   capacity = 89653248 (85.5MB)   used     = 89640016 (85.48738098144531MB)   free     = 13232 (0.0126190185546875MB)   99.98524091397113% usedTo Space:   capacity = 89653248 (85.5MB)   used     = 0 (0.0MB)   free     = 89653248 (85.5MB)   0.0% usedPS Old Generation   capacity = 1437597696 (1371.0MB)   used     = 75478984 (71.98236846923828MB)   free     = 1362118712 (1299.0176315307617MB)   5.250355103518475% used61705 interned Strings occupying 7127136 bytes.

 

第二种:用JDK自带的工具 jconsole或者jvisualvm:

 

 

 

 

转载地址:http://cehel.baihongyu.com/

你可能感兴趣的文章
react-native搭建用例(非CRNA)
查看>>
HTTP协议
查看>>
github简单使用
查看>>
Python提取网站数据笔记
查看>>
隐私政策
查看>>
一些个人认为值得推荐的IT编程技术社区、博客或文章收集与分享
查看>>
排序算法性能比较
查看>>
Java设计模式-策略模式
查看>>
java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统-注册中心Eureka
查看>>
学习笔记(4.6)
查看>>
java B2B2C Springcloud多租户电子商城系统-spring-cloud-eureka
查看>>
掌握设计规范,UI设计师不得不知的三件事!
查看>>
The SQL vs NoSQL Difference: MySQL vs MongoDB
查看>>
武汉区块链软件技术公司:区块链+工业4.0对制造业的影响
查看>>
一文说透WordPress的自定义文章类型
查看>>
小白读源码 | RxJava2 入门篇(一)
查看>>
互联网安全内容安全及防护
查看>>
Spring Boot监控与管理的实现
查看>>
人工智能识别植物准确率高达80% 植物学家轻松了
查看>>
对于非技术人员来说,闪电网络和BCH分别意味着什么?
查看>>