JVM调优-内存分配基础

来源:互联网 发布:curl 发送json数据 编辑:程序博客网 时间:2024/05/18 00:55

JVM的内存分为两种
堆(Heap)和非堆(Non-heap)内存
heap区又分为:
- Eden Space(伊甸园)、
- Survivor Space(幸存者区)、
- Old Gen(老年代)。

非heap区又分:
- Code Cache(代码缓存区);
- Perm Gen(永久代);
- Jvm Stack(java虚拟机栈);
- Local Method Statck(本地方法栈);

按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”
简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的
所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。


堆分为年轻代和老年代、二者比例1:2 (精确)
其中年轻代又分为1个Eden 和2个Survivor 比例(大约)为8:1:1
其中Eden和Survivor 的比例不是绝对的, 但是两个Survivor区是严格的1:1
这里写图片描述
可以设置jvm参数
-Xms200m -Xmx200m
设置堆初始大小 也是最小值为200m 同时设置最大值为200m,
目的就是为了防止gc回收的过程中jvm动态改变堆的大小
通过jdk自带的工具 jmap

# jmap.exe -heap 43656 最后一个参数是进程idC:\Users\coffee\Desktop>C:\java\jdk1.8.0_121\bin\jmap.exe -heap 43656Attaching to process ID 43656, 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              = 209715200 (200.0MB) ## 可以看到堆最大就是Xmx的大小   NewSize                  = 69730304 (66.5MB) ## 年轻带 (包括Eden和Survivor)   MaxNewSize               = 69730304 (66.5MB)   OldSize                  = 139984896 (133.5MB) ## 老年代   NewRatio                 = 2   SurvivorRatio            = 8   MetaspaceSize            = 21807104 (20.796875MB)   CompressedClassSpaceSize = 1073741824 (1024.0MB)   MaxMetaspaceSize         = 17592186044415 MB   G1HeapRegionSize         = 0 (0.0MB)Heap Usage:PS Young GenerationEden Space:   capacity = 62390272 (59.5MB)   used     = 25711456 (24.520355224609375MB)   free     = 36678816 (34.979644775390625MB)   41.21068104976366% usedFrom Space:   capacity = 3670016 (3.5MB)   used     = 1973232 (1.8818206787109375MB)   free     = 1696784 (1.6181793212890625MB)   53.766305106026785% usedTo Space:   capacity = 3670016 (3.5MB)   used     = 0 (0.0MB)   free     = 3670016 (3.5MB)   0.0% usedPS Old Generation   capacity = 139984896 (133.5MB)   used     = 45164904 (43.072608947753906MB)   free     = 94819992 (90.4273910522461MB)   32.264126552624646% used37442 interned Strings occupying 4407232 bytes.
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 爪哇鼬獾 蜜獾图片 突击手蜜獾 猪獾图片 狗獾图片 狗獾子 狼獾 野狼獾作品 獾猪图片 一只野生獾价格 野狼獾 野生獾图片 袋獾 蜜guan獾 獾的礼物 猪獾子 2017一只狗獾市场报价 鼬獾1只卖得到多少钱 一只狗獾子值多少钱 狐狸夫人和狗獾先生 油甘 油甘子 油甘果泡酒功效 腌油甘子 油甘功效 油甘果怎么腌制 油甘鱼 孕妇可以吃油甘吗 油甘酒 油甘鱼的做法大全 油甘酒的功效与作用 甘露油 潮汕甜咸油甘制作详细过程 油甘酒的制作方法 油甘鱼多少钱一斤 三油甘脂3.96高才危险 腌制甜的油甘家常做法 油甘子的功效与作用 油然而生意思 油然而生 油然而生拼音