Java后端
,选择 设为星标

目标
测试机器和项目
MacBook Pro Retina, 2.3GHz Intel Core i7, 16GB 1600Mhz DDR3,SSD Disc, OS X Yosemite
测试场景
- 
在 Idea 中关闭所有项目 
 - 
基于测试文件 idea.vmoptions 进行设置 
 - 
重启电脑 
 - 
启动后关闭所有不相关的项目( communicators 等等) 
 - 
打开 Idea(测试时间) 
 - 
打开大项目(测试时间) 
 - 
检查 jstat -gcutil 
 - 
打开两个微服务项目(测试时间) 
 - 
检查 jstat -gcutil 
 - 
返回大项目然后点击“刷新 Gradle 项目”按钮(测试时间) 
 - 
检查 jstat -gcutil 
 
jstat -gcutil
    
    
    
 
     
     
     -gcutil - Summary of garbage collection statistics.
S0: Survivor space 0 utilization as a percentage of the space's current capacity.
S1: Survivor space 1 utilization as a percentage of the space's current capacity.
E: Eden space utilization as a percentage of the space's current capacity.
O: Old space utilization as a percentage of the space's current capacity.
M: Metaspace utilization as a percentage of the space's current capacity.
CCS: Compressed class space utilization as a percentage.
YGC: Number of young generation GC events.
YGCT: Young generation garbage collection time.
FGC: Number of full GC events.
FGCT: Full garbage collection time.
GCT: Total garbage collection time.
    
    
     
    
    
    
 
     
     
     S0     S1    E     O     M    CCS  YGC YGCT FGC  FGCT   GCT
89.70 0.00 81.26 74.27 95.68 91.76 40 2.444 14 0.715  3.159
    
    
     
默认(灰色标识)
    
    
    
 
     
     
     -Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
    
    
     
Big(大)(红色标识)
    
    
    
 
     
     
     -Xms1024m-Xmx4096m-XX:ReservedCodeCacheSize=1024m-XX:+UseCompressedOops
    
    
     
   
   
   
 
    
    
    
   
   
    
Balanced(平衡的)(蓝色标识)
    
    
    
 
     
     
     -Xms2g
-Xmx2g
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
    
    
     
Sophisticated(复杂的)(橘色标识)
    
    
    
 
     
     
     -server
-Xms2g
-Xmx2g
-XX:NewRatio=3
-Xss16m
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:ConcGCThreads=4
-XX:ReservedCodeCacheSize=240m
-XX:+AlwaysPreTouch
-XX:+TieredCompilation
-XX:+UseCompressedOops
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-ea
    
    
     
Idea启动时间

加载大项目花费的时间
    
    
    
 
     
     
     jstat -gcutil <IDEA_PID>
 
     
     
     
    
    
     


在IDEA中打开两个微服务

再次使用jstat –gcutil


最后的角逐:重新加载Monolith

最后一次使用jstat-gcutil


总结
笔者认为,在大多数情况下,把 Xmx 值设置在 2G 和 3G 之间是最佳的。
如果你有更多的时间可以用 jstat 和 jvisualm 检查用不同的 JVM 设置如何影响性能和内存占用。
  
     
     
     
   
      
      
      
    
       
       
       
     
        
        
        Java后端交流群已成立
    
       
       
        
   
      
      
       
  
     
     
      
  
     
     
     
   
      
      
      
    
       
       
       
     
        
        
        公众号运营至今,离不开小伙伴们的支持。为了给小伙伴们提供一个互相交流的平台,特地开通了官方交流群。扫描下方二维码备注 进群 或者关注公众号 Java后端 后获取进群通道。
    
       
       
        
    
       
       
       
     
        
        
        
    
       
       
        
   
      
      
       
  
     
     
      
 
 
   
      
      
      
    
       
       
       
     
        
        
        
      
         
         
         
       
          
          
                  
           
           
           
         
            
            
            推
         
            
            
            荐
         
            
            
            阅
         
            
            
            读 
        
           
           
            
        
           
           
           
         
            
            
            1. 如何完成一次快速的查询
        
           
           
            
        
           
           
           
         
            
            
            2. 推荐两个高仿抖音 App 项目
        
           
           
            
        
           
           
           
         
            
            
            3. 牛逼!Docker从入门到上瘾
        
           
           
            
        
           
           
           
         
            
            
            4. 连夜撸了一个简易聊天室
        
           
           
            
        
           
           
           
         
            
            
            5. 推荐一款 Java 对象映射神器
        
           
           
            
        
           
           
           
         
            
            
            
        
           
           
            
 
 
 
 
 
本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
相关文章
暂无评论...
