熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

jvm性能優化及內存分區

2022-06-13   來源: Java核心技術 
    Some of the default values for Sun JVMs are listed below
   
    JDK _ Initial Size Maximum Size
   
    Client JVM MB MB
   
    Server JVM MB MB
   
    JDK _ Initial Size Maximum Size
   
    Client JVM MB MB
   
    Server JVM MB MB
   
    JDK Initial Size Maximum Size
   
    Client JVM MB MB
   
    Server JVM MB MB
   
    JDK Initial Size Maximum Size
   
    Client JVM MB MB
   
    Server JVM MB MB
   
    以下是sun公司的性能優化白皮書中提到的幾個例子
   
    對於吞吐量的調優機器配置G的內存個線程並發能力
   
    java Xmxm Xmsm Xmng Xssk XX:+UseParallelGC XX:ParallelGCThreads=
   
    Xmxm Xmsm 配置了最大Java Heap來充分利用系統內存
   
    Xmng 創建足夠大的青年代(可以並行被回收)充分利用系統內存防止將短期對象復制到老年代
   
    Xss 減少默認最大的線程棧大小提供更多的處理虛擬內存地址空間被進程使用
   
    XX:+UseParallelGC 采用並行垃圾收集器對年青代的內存進行收集提高效率
   
    XX:ParallelGCThreads= 減少垃圾收集線程默認是和服務器可支持的線程最大並發數相同往往不需要配置到最大值
   
    嘗試采用對老年代並行收集
   
    java Xmxm Xmsm Xmng Xssk XX:+UseParallelGC XX:ParallelGCThreads= XX:+UseParallelOldGC
   
    Xmxm Xmsm 內存分配被減小因為ParallelOldGC會增加對於Native Heap的需求因此需要減小Java Heap來滿足需求
   
    XX:+UseParallelOldGC 采用對於老年代並發收集的策略可以提高收集效率
   
    提高吞吐量減少應用停頓時間
   
    java Xmxm Xmsm Xmng Xssk XX:ParallelGCThreads= XX:+UseConcMarkSweepGC XX:+UseParNewGC XX:SurvivorRatio= XX:TargetSurvivorRatio= XX:MaxTenuringThreshold=
   
    XX:+UseConcMarkSweepGC XX:+UseParNewGC 選擇了並發標記交換收集器它可以並發執行收集操作降低應用停止時間同時它也是並行處理模式可以有效地利用多處理器的系統的多進程處理
   
    XX:SurvivorRatio= XX:MaxTenuringThreshold= 表示在青年代中Eden和Survivor比例設置增加了Survivor的大小越大的survivor空間可以允許短期對象盡量在年青代消亡
   
    XX:TargetSurvivorRatio= 允許%的空間被占用超過默認的%提高對於survivor的使用率
   
    JAVA的JVM的內存可分為個區(常用的一共有個)堆(heap)棧(stack)和方法區(method)
   
    堆區
   
    存儲的全部是對象每個對象都包含一個與之對應的class的信息(class的目的是得到操作指令)
   
    jvm只有一個堆區(heap)被所有線程共享堆中不存放基本類型和對象引用只存放數據
   
    棧區
   
    每個線程包含一個棧區棧中只保存原始類型數據和對象和對象引用(不是對象)對象都存放在堆區中
   
    每個棧中的數據(原始類型和對象引用)都是私有的其他棧不能訪問
   
    棧分為個部分基本類型變量區執行環境上下文操作指令區(存放操作指令)
   
    方法區
   
    又叫靜態區跟堆一樣被所有的線程共享方法區包含所有的class和static變量
   
    方法區中包含的都是在整個程序中永遠唯一的元素如classstatic變量
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26382.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.