java项目中很多地方使用线程池,线上服务器内存占用越来越大.每个线程占用8.8M.问题是哪儿?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java项目中很多地方使用线程池,线上服务器内存占用越来越大.每个线程占用8.8M.问题是哪儿?相关的知识,希望对你有一定的参考价值。
ExecutorService executor = Executors.newCachedThreadPool(); for(int i=0;i<loopCount;i++) executor.submit( new Runnable() public void run() //这儿是业务代码,暂不展示 ); executor.shutdown();
参考技术A 针对你说的这种情况,可以使用jvisualvm.exe直接查看内存使用情况,查看是否是有大对象。Java线程池
线程池的核心:控制线程数量,线程的复用;
适用场景:并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,因为频繁创建和销毁线程也需要占不少的CPU和内存,使用线程池能很大地提高效率。
以上是关于java项目中很多地方使用线程池,线上服务器内存占用越来越大.每个线程占用8.8M.问题是哪儿?的主要内容,如果未能解决你的问题,请参考以下文章
通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)
通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)