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和内存,使用线程池能很大地提高效率。

 

http://www.cnblogs.com/dolphin0520/

以上是关于java项目中很多地方使用线程池,线上服务器内存占用越来越大.每个线程占用8.8M.问题是哪儿?的主要内容,如果未能解决你的问题,请参考以下文章

Java内存CPU占用率过高

Java频繁创建线程排查和解决

通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)

通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)

通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)

线程池