`

java web应用服务器CPU过高原因及解决思路

阅读更多

 

1、方法中存在读写文件流的操作,高并发时每个请求产生一个文件流,导致系统CPU急增

 

解决思路:

a、使用http://sky425509.iteye.com/admin/blogs/2031391 提到的方法,找出CPU高的java线程

b、从线程栈日志信息中,找出导致CPU高的线程方法

c、读写文件流操作移出方法中,避免每次请求都产生一个文件流

 

2、方法中使用了多线程,未使用连接池或使用了Executors.newCachedThreadPool()创建的接连池,高并发时创建出过多的后台线程

 

解决思路:

a、使用jstack命令统计出线程数量

b、找出程序中创建线程代码

c、使用Executors.newFixedThreadPool(thread_size)创建固定数量的线程池(线程数固定,无法无收),或者使用new ThreadPoolExecutor(coreSize, maxSize, 60L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>())直接构造线程池,

 

ps:ThreadPoolExecutor线程池的使用请参考另一篇博文http://sky425509.iteye.com/admin/blogs/2040794

 

3、gc线程比较费时

 

解决思路:

a、查看一下gc策略是否合理

b、用命令jmap -histo [PID] 分析是哪个类占用内存比较多,分析出可能存在内存泄露的地方

c、jvm内存调优,可使用Jconsole、visalvm、probe等工具查看java虚拟机中方法区、堆区(新生代、幸存代、老年代)、线程栈的内存分配,根据实际情况进行优化

 

4、代码中存在死循环

 

解决思路:参考问题1的处理思路

分享到:
评论

相关推荐

    JavaMelody能够监测Java或Java EE应用程序服务器.rar

    JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    java源码包4

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    TIGER-WEBSERVER:Java中的简单Web服务器

    Java中的简单Web服务器。 ## Attetion使用服务器之前,请先更新tiger.config文件。 tiger.version=0.01 Alpha服务器的版本。 您不必更改此设置。 tiger.port=80应用程序的端口。 选择一个免费的80或8080。 tiger....

    基于Java web开发的企业进销存管理系统

    项目说明:JSP开发企业进销存管理系统 用户名:admin 密 码:admin 运行环境: 硬件平台: CPU:酷睿II。... 编程平台:MyEclipse 浏览器:IE Web服务器:tomcat 分辨率:最佳效果1024×768像素。

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    javamelody源码文档及相应的包

    JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行...

    基于Jenkins自动打包并部署Tomcat环境

    psi-probe.tar 是一个 Java 应用程序性能监测工具,用于监控和诊断运行在 Java 虚拟机上的 Web 应用程序。它提供了实时的性能信息,包括 CPU 使用率、内存使用情况、线程信息、数据库连接池的状态以及 HTTP 请求响应...

    WarmRoast, 基于 Java/web的用户界面处理器.zip

    WarmRoast, 基于 Java/web的用户界面处理器 WarmRoastWarmRoast是用于JVM应用程序的easy-to-use CPU取样工具,但特别适用于Minecraft服务器/客户端。可调采样频率。支持加载deobfuscating类和方法名称的MCP映射。...

    基于Java的宠物管理系统源码实现sql数据库.rar

    基于Java的宠物管理系统源码实现sql数据库(附带项目源码+sql数据库+毕业论文、答辩ppt等资料+项目截图) 本系统是采用Java技术来构建的一...Web服务器参考配置:Intel Xeon Quad Core E5530 80W 2.40GHz/5.8GT/8MB Ca

    WebConsole:Spigot插件,可使用Web界面远程管理服务器

    没有中介Web服务器,只有您和您的MC服务器。 附加功能: 多用户系统和仅查看用户模式:您可以创建多个用户并将其角色设置为“管理员”或“查看者”。 具有“查看器”角色的用户只能读取控制台,CPU和RAM的使用情况...

    Flex+Lcds+FB3+Java+MyEclipes7.5

    在发布到web应用服务器后(比如tomcat、j4run等)就会被解压成一个工程。当然,在FB3里,这个发布的过程会更加的简单。 Blazeds:不用安装,下载了就OK,要的是里面的blazeds.war,与LCDS的flex.war一样。 2. 安装...

    Java高并发异步Socket编程

    DougLee可扩展的网络服务事件驱动Reactor模式基础版多线程版其他变体java.io包中分阻塞IOAPI一览Web服务器,分布式对象系统等等它们的共同特点Read请求解码请求报文业务处理编码响应报文发送响应实际应用中每一个...

    在Android系统上基于Magisk和Xpsoed框架的墓碑机制模块,冻结后台应用的CPU使用权.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

Global site tag (gtag.js) - Google Analytics