如果使用MaxBytesLocalHeap和MaxBytesLocalDisk,则ehcache线程崩溃

时间:2016-06-29 18:25:56

标签: java spring caching configuration ehcache

我有一个Spring启动应用程序,它使用ehcache将查询缓存到db。 如果我在缓存配置中指定最大条目数,则可以正常工作。 但是,如果我提供了我的缓存的最大大小(我想要的),它的行为方式

  • 启动应用程序时挂起几秒钟
  • 使用线程转储生成警告日志

有趣的是,堆栈跟踪的最后一个日志是:

at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:100)

仅供参考我在Windows win7主机上的虚拟机(虚拟机)中运行Centos 6。

在裸机服务器上的Centos 7上的[更新],没有错误日志,但是当它应该关闭并且同一个线程转储时仍然挂起

  • 正常进行此过程
  • 在完成工作后永远挂起,因为有几个ehcache线程在等待

如何修复该错误?作为一种解决方法,我必须强制关闭应用程序(使用applicationContext.close()或终止进程。

应用程序启动时的线程转储并挂起几秒钟 enter image description here

当应用程序完成其工作时的线程转储,应该关闭但由于ehcache缓存专用线程而卡住 enter image description here

具有固定内存大小的配置(不工作)

@Configuration
@EnableCaching
public class CachingConfig implements CachingConfigurer {


    @Bean
    CacheConfiguration foreNameDemographicStatsCacheConfiguration(){
        CacheConfiguration cacheConfiguration = new CacheConfiguration();
        cacheConfiguration.setName("foreNameDemographicStats");
        return cacheConfiguration;
    }

    @Bean(destroyMethod="shutdown")
    public net.sf.ehcache.CacheManager ehCacheManager() {
        net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
        config.setMaxBytesLocalHeap("40%");
        config.setMaxBytesLocalDisk("1G");
        config.addCache(familyNameDemographicStatsCacheConfiguration());
        return net.sf.ehcache.CacheManager.newInstance(config);
    }

    @Bean
    @Override
    public CacheManager cacheManager() {
        return new EhCacheCacheManager(ehCacheManager());
    }

    @Override
    public CacheResolver cacheResolver() {
        return null;
    }

    @Bean
    @Override
    public KeyGenerator keyGenerator() {
        return new SimpleKeyGenerator();
    }

    @Override
    public CacheErrorHandler errorHandler() {
        return null;
    }
}

具有固定元素大小(工作)的配置

    private Integer maxEntriesLocalHeap=100000;

    @Bean
    CacheConfiguration foreNameDemographicStatsCacheConfiguration(){
        CacheConfiguration cacheConfiguration = new CacheConfiguration();
        cacheConfiguration.setName("foreNameDemographicStats");
        cacheConfiguration.setMaxEntriesLocalHeap(maxEntriesLocalHeap);
        return cacheConfiguration;
    }

    @Bean(destroyMethod="shutdown")
    public net.sf.ehcache.CacheManager ehCacheManager() {
        net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
        config.addCache(familyNameDemographicStatsCacheConfiguration());
        return net.sf.ehcache.CacheManager.newInstance(config);
    }

启动应用程序时记录:

2016-06-29 19:11:09
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):

"Monitor Ctrl-Break" #14 daemon prio=5 os_prio=0 tid=0x00007f8714984000 nid=0x4621 runnable [0x00007f8700f62000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:90)
    at java.lang.Thread.run(Thread.java:745)

"_jprofiler_control_sampler" #5 daemon prio=5 os_prio=0 tid=0x00007f86d0026800 nid=0x4616 waiting on condition [0x00007f8700421000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.__ejt_nmp_sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java)
    at com.jprofiler.agent.probe.y.run(ejt:1030)

"Service Thread" #13 daemon prio=9 os_prio=0 tid=0x00007f87146c6800 nid=0x4614 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #12 daemon prio=9 os_prio=0 tid=0x00007f871467c000 nid=0x4613 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #11 daemon prio=9 os_prio=0 tid=0x00007f8714679800 nid=0x4612 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #10 daemon prio=9 os_prio=0 tid=0x00007f8714678000 nid=0x4611 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"_jprofiler_native_sampler" #9 daemon prio=10 os_prio=0 tid=0x00007f86c8012800 nid=0x4610 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"_jprofiler_native_comm" #8 daemon prio=5 os_prio=0 tid=0x00007f8714676800 nid=0x45ad runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"_jprofiler_sampler" #7 daemon prio=10 os_prio=0 tid=0x00007f8714674800 nid=0x45ac waiting on condition [0x00007f8700e61000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.__ejt_nmp_sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java)
    at com.jprofiler.agent.sampler.Sampler.run(ejt:84)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f8714410800 nid=0x45a8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f87142e1000 nid=0x4550 in Object.wait() [0x00007f8701164000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x000000078ad31320> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x000000078ad31320> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f87142dd800 nid=0x4548 in Object.wait() [0x00007f8701265000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x000000078ad314d8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
    - locked <0x000000078ad314d8> (a java.lang.ref.Reference$Lock)

"main" #1 prio=5 os_prio=0 tid=0x00007f8714094800 nid=0x44fd waiting on condition [0x00007f87185c4000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.__ejt_nmp_sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java)
    at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:100)
    at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
    at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.sf.ehcache.pool.sizeof.AgentLoader.loadAgent(AgentLoader.java:135)
    - locked <0x0000000788518988> (a java.lang.String)
    at net.sf.ehcache.pool.sizeof.AgentSizeOf.<clinit>(AgentSizeOf.java:38)
    at net.sf.ehcache.pool.impl.DefaultSizeOfEngine.<init>(DefaultSizeOfEngine.java:109)
    at net.sf.ehcache.pool.SizeOfEngineLoader.createSizeOfEngine(SizeOfEngineLoader.java:71)
    at net.sf.ehcache.pool.SizeOfEngineLoader.newSizeOfEngine(SizeOfEngineLoader.java:59)
    at net.sf.ehcache.CacheManager.createSizeOfEngine(CacheManager.java:2081)
    at net.sf.ehcache.CacheManager.doInit(CacheManager.java:453)
    at net.sf.ehcache.CacheManager.init(CacheManager.java:395)
    - locked <0x00000007883d6020> (a net.sf.ehcache.CacheManager)
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:270)
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1116)
    - locked <0x000000078ae1bca8> (a java.lang.Class for net.sf.ehcache.CacheManager)
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1092)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig.ehCacheManager(CachingConfig.java:75)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.CGLIB$ehCacheManager$4(<generated>)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c$$FastClassBySpringCGLIB$$8728f995.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.ehCacheManager(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    - locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:324)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.ehCacheManager(<generated>)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig.cacheManager(CachingConfig.java:81)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.CGLIB$cacheManager$2(<generated>)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c$$FastClassBySpringCGLIB$$8728f995.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.cacheManager(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    - locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:324)
    at uk.gov.nationalarchives.ttt.linker.config.CachingConfig$$EnhancerBySpringCGLIB$$f3fe5f5c.cacheManager(<generated>)
    at org.springframework.cache.annotation.AbstractCachingConfiguration.useCachingConfigurer(AbstractCachingConfiguration.java:84)
    at org.springframework.cache.annotation.AbstractCachingConfiguration.setConfigurers(AbstractCachingConfiguration.java:77)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1202)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    - locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:371)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    - locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
    at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:92)
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:101)
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:330)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:293)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1571)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1469)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    - locked <0x000000078ad31ee8> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    - locked <0x000000078ad31fe8> (a java.lang.Object)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at uk.gov.nationalarchives.ttt.linker.TTT.resetContext(TTT.java:223)
    at uk.gov.nationalarchives.ttt.linker.TTT.main(TTT.java:146)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

"VM Thread" os_prio=0 tid=0x00007f87142b2000 nid=0x4543 runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f87140a9800 nid=0x450e runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f87140ab800 nid=0x4510 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f87140ad000 nid=0x4511 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f87140af000 nid=0x4512 runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007f87146c9000 nid=0x4615 waiting on condition 

JNI global references: 3293

Heap
 PSYoungGen      total 50688K, used 22084K [0x0000000787b80000, 0x000000078b400000, 0x00000007c0000000)
  eden space 43520K, 36% used [0x0000000787b80000,0x0000000788aeefb8,0x000000078a600000)
  from space 7168K, 87% used [0x000000078ad00000,0x000000078b322398,0x000000078b400000)
  to   space 7168K, 0% used [0x000000078a600000,0x000000078a600000,0x000000078ad00000)
 ParOldGen       total 116224K, used 80K [0x0000000717200000, 0x000000071e380000, 0x0000000787b80000)
  object space 116224K, 0% used [0x0000000717200000,0x0000000717214010,0x000000071e380000)
 Metaspace       used 17988K, capacity 18134K, committed 18304K, reserved 1064960K
  class space    used 2127K, capacity 2150K, committed 2176K, reserved 1048576K

2016-06-29 19:11:15 INFO  MongoConfiguration$$EnhancerBySpringCGLIB$$140b561:73 - using Mongo database: localhost:27017/ttt

2016-06-29 19:11:17 INFO  TTTService:75 - start TTT Process

遵循how to size ehcache

的指导原则

0 个答案:

没有答案