tomcat在一台电脑上运行出现一两个小时后cpu占用从0%到18%并一直这样 5C

系统版本 windows server 2008 R2 64位
JDK 1.8.0_162-win32
Tomcat-9.0.5-win32
数据库 MySQL 5.7.21-win32

图片说明

            32线程 32g内存
            问题描述:在一台以上配置的电脑,开启一两个小时后cpu占用从0%变成18%,没有定时任务,有6个线程都占用3.11%的cpu(在其他电脑上系统版本和jdk tomcat mysql版本一样未出现该种情况)
            通过jstack吧进程发现以下6个线程占用cpu,没有发现与业务代码的关联


            "ajp-nio-28009-ClientPoller-1" #47 daemon prio=5 os_prio=0 tid=0x169a4000 nid=0x3e4c runnable [0x1d73f000]

java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:710)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- None
"ajp-nio-28009-ClientPoller-0" #46 daemon prio=5 os_prio=0 tid=0x169a3c00 nid=0x81064 runnable [0x1d52f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method)
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473)
- locked (a java.lang.Object)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:710)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- None

"http-nio-28080-ClientPoller-0" #32 daemon prio=5 os_prio=0 tid=0x17b34400 nid=0x687dc runnable [0x1cb0f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method)
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473)
- locked (a java.lang.Object)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:710)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- None
"http-nio-28080-ClientPoller-1" #33 daemon prio=5 os_prio=0 tid=0x17b34800 nid=0xb3230 runnable [0x1cc5f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method)
at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473)
- locked (a java.lang.Object)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:710)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- None

"NioBlockingSelector.BlockPoller-2" #14 daemon prio=5 os_prio=0 tid=0x15a96000 nid=0x48494 runnable [0x1669f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:298)

Locked ownable synchronizers:
- None
"NioBlockingSelector.BlockPoller-1" #13 daemon prio=5 os_prio=0 tid=0x15a8ec00 nid=0x8b6c8 runnable [0x1664f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked (a sun.nio.ch.Util$3)
- locked (a java.util.Collections$UnmodifiableSet)
- locked (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:298)

Locked ownable synchronizers:
- None

0

1个回答

64位系统,又那么多内存,为什么用MySQL 5.7.21-win32,这是32bit的版本,应该用64bir的才好。看下是不是内存垃圾回收影响了性能。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
tomcat cpu暴涨的原因之一及其解决方法
当你使用tomcat部署web系统时,过了一段时间发现cpu暴涨,你不防试试下面的方法,看看是否程序内的死循环导致cpu暴涨。rnrn第一步:增加tomcat监控对外端口rnrn在你的tomcat的bin目录下找到catalina.sh在二行加上rn[code="java"]rnJAVA_OPTS='-server -Xms1024m -Xmx1024m -XX:PermSize=128M -XX...
tomcat服务启动后稍有流量cpu疯狂飙高艰辛排查历程
1、cpu疯狂的手段:nn1.1、使用jmap指令分享jvm的堆运行情况,看实例了多少个对象nn jmap -histo 11472|grep youx|sort -k 2 -g -r|lessnnyoux : 代表实例对象含有包名(框内代表实例化个数)nnnn1.2、查看高频使用cpu的线程队列情况 jstack 15543 |grep 3cfc -A 100nnnn1.3、再实用 j...
服务器上某应用cpu一直100%问题记录
rn   jstack 31066 |grep 'nid=795A'rn rn用jmap -heap pid 查看内存使用情况(可以观察到New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的内存使用情况),数据如下:rn rnAttaching to process ID 6736, p...
web应用部署到Linux服务器上,CPU占用过高
web应用部署到Linux服务器上,CPU占用过高公司项目部署到LINUX服务器上后,过了一段时间,CPU过高,开始寻找原因有这么几步: n1.通过top命令(top之后再按shift+H可以显示线程)查看CPU使用率高的线程; n2.将这个线程号转换为16进制; n3.使用jps查看服务器的Java进程号; n4.使用jstack [进程号] 打印当前的进程堆栈; n5.从打印的信息中,找到第2步
在一台电脑上启动两个项目用同一个tomcat
想在同一台电脑上启动两个项目,两个项目需要互相访问,但是是同一个tomcat,只需要修改一下端口就可以了。rnrn在其中一个项目中,点击tomcat配置信息的地方,把端口号改为和另一个不一样的,然后在另一个项目中的base.properties中,修改链接端口号,改为刚才修改的host和port,重新启动就可以了。。...
排查线上tomcat出现cpu100%问题
线上出现tomcat的CPU出现100%,排查及其解决的步骤 n1、输入top,查看cpu的占用比率2、通过ps aux | grep PID或ps -ef |grep PID命令,定位具体的进程主体,如是否是tomcat启动的java进程出现了问题。3、用ps -mp PID -o THREAD,tid,time命令打印出该进程下的线程占用cpu情况4、用printf “%x\n” TID命令将需
Linux-Tomcat进程CPU使用率100%原因分析
在Linux中当Tomcat启动后,我们只是去查看应用是否能够正常访问来判断Tomcat启动是否正常。一般情况下这样看是没有问题的,但是有时候我们会发现当Tomcat使用了一段时间后,开始出现CPU或者内存飙升。此时,查看Tomcat日志也许无法看到有效信息,因此有必要了解一下Linux和jdk给我们提供的相关工具。n1、查看内存和CPU使用较高的进程信息n输入top,我们可以看到下面的信息
tomcat 压测一段时间后,CPU不停的涨,求解决方法
CPU占用情况如图,有哪位遇到过,帮我分析下什么情况
tomcat服务器cpu占用率居高不下的原因分析及解决
tomcat服务器cpu占用率居高不下的原因分析及解决偶遇服务器cpu飙升,过段时间后正常,反反复复获取cpu占用高的java进程运行中的堆栈信息rn偶遇服务器cpu飙升,过段时间后正常,反反复复rn尝试通过百度,谷歌等搜索,获取可行的解决方案无果,偶然的机会得知 fastthread 可视化分析工具,问题才能顺利解决。rn获取cpu占用高的java进程运行中的堆栈信息rn通过top命令查看cpu占用率高...
一台电脑同时启动多个Tomcat遇到的问题
最近想尝试部署一个Tomcat集群nnnn可是发现无论启动8081还是8082都是启动的8.5.6。nn解决方式可以有以下几种:nn1.找到 环境变量里的 CATALINA_HOME,将其删除,如果Path里也有相关配置的话,也删除。nn nn2.打开8081或8082 的startup.bat文件 找到:nn nnnGuess CATALINA_HOME if not definednset "...
Windows平台下tomcat+java的web程序持续占cpu问题调试
1、问题Tomcat服务器跑了一段时间后,发现Tomcat进程占用的CPU资源在80%-100%间,加上其它的进程,整个服务器的CPU处理100%运行状态。2、通过process explorer查看Tomcat进程下的线程process explorer下载:https://technet.microsoft.com/en-us/sysinternals/bb896653/ n 我使用的是汉化后的
项目在其它电脑上运行正常,新电脑上404
不要说,遇见这个问题耽误了我一天的工作时间,简直头疼。项目拉取下来,启动不报错,页面404.Apache Maven 3.5.3、Apache Maven 3.5.3、spring 3 、mysql、idea2018.1好了。首先根据页面的404去网上找答案,后台没有报错信息。。根据控制台:- jar not loaded. See Servlet Spec 3.0, section 10.7.2...
在一台电脑上安装多个Tomcat并运行
准备工作:电脑中已经安装了jdk,下载了tomcat的压缩包eclipse-jee-neon-1-win32-x86_64.zip第一步:解压tomcat到 E:\tomcat8-3第二步:修改E:\tomcat8_3\conf\server.xml文件 中的三个端口1.<Server port="8005" shutdown="SHUTDOWN">改为没有被占用的端口,如80352.<Connec
计算机CPU占用率居高不下,经常100%,目前解决方面如下
1 启动任务管理器 ,找到explorer.exe,结束进程n、 nnn2创建新任务nnnn备注:这只是针对我的电脑的解决方法,如果您没有解决,请参考其他解决方案。
java程序运行一段时间后内存爆满,cpu使用率迅速增加(解决)
java程序在运行一段时间后,内存逐渐爆满,随后cpu使用率上升nn上周遇到一个很奇葩的问题,现场反应,程序运行20分钟以后cpu使用率在90%以上,拿到代码无从下手,经过几天的研究,最终找到原因并解决。nn通过现场bug现象,初步分析,是由于程序占用过多的系统资源,导致cpu使用率过高,怀疑是资源没有合理释放,或者程序在运行时出现死循环nn一、通过windows自带工具查看占用内存的线程nnht...
一台机器上启动两个tomcat端口号冲突问题
有时候我们需要在一台机器上启动多个项目,但是一个tomcat下启动多个项目会导致调试会出不可预期的问题,所以可以试着启动两个tomcat服务器rn步骤如下:rn1.打开tomcat的安装目录找到conf文件夹下的server.xml文件rnC:\Program Files\Apache Software Foundation\Tomcat 7.0\confrnrnrnrn2.如果只是为了解决808
同一台服务器(电脑)运行多个Tomcat的设置方法
大多人在Windows平台用的Tomcat都是免安装版本的,很自然想到复制几份目录,就是在同一个电脑上跑多个Tomcat服务了。实际上是不可以的。经过如下方法就可以实现统一台服务器(电脑)上运行多个Tomcat的目的了。
一台电脑上存多个Java版本时,多个Tomcat启动窗口闪退而服务没有启动的情况
本来电脑上已安装了java1.6版本,并配置好了JAVA_HOME等环境变量。但是在cmd下面查看java -version时居然是java 1.8。我想可能是该电脑上被人装了个oracle11g,自带安装了java1.8。rn        由于测试需要,我自己需要在这电脑上搭多1个tomcat,原本电脑上就已经有1个tomcat在运行了,这时要部署多一个tomcat就要注意了。如果不加配置,这
查找tomcat程序中某个进程占用CPU高的方法
一、发现问题n 在测试或是生产环境,当发现tomcat cpu一直持续保持在某一个高水平线时,说明程序处理肯定出了问题,接下来就要找原因了。如下图可以发现进程ID为8051的tomcat占用CPU高。n二、定位问题n使用命令ps -mp 8051 -o THREAD,tid,time查看8051这个进程中哪些线程使用CPU比较高,浏览查看线程8327占用的cpu较高。 将需要的线程ID转换为16进
记一次tomcat部署java web项目开启热加载reloadable导致服务器CPU100%爆满的问题
服务器安装的tomcat比较多,配置的项目更多,(tomcat6/7/8加起来差不多十个,平均每只猫带六七个项目),服务器配置好像是2核8G的,很长一段时间,服务器cpu基本都保持在100%,尽管服务器配置的项目很多,但访问量并不高,cpu爆满肯定是原因的。后来参考网上资料,找出tomcat进程PID,使用jstack生成stack文本,使用ProcessExplorer找出高cpu线程TID,T...
tomcat业务服务器内存使用高问题处理
问题描述:rn一台服务器运行着3个tomcat,服务器内存为128G,有一天发现内存使用95%了,rn网上搜索了下,说是通过设置环境变量来改变arena的数量,例如export MALLOC_ARENA_MAX=1 内容写的比较复杂,可能是glibc为了分配内存的性能的问题,也可能是JDK版本的问题,如下:rnhttp://blog.csdn.net/chen19870707/article/de
一台电脑上同启动两个Tomcat的方式,windows/Linux配置
一台电脑上同启动两个Tomcat的方式,windows/Linux配置
java web tomcat项目高CUP和内存占用率
java 进程高CPU和内存占用率的问题
远程部署应用程序:一台服务器运行两个tomcat
部署java 网站时所需要的东西
一台电脑配置多个tomcat,同时运行,互不冲突
当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下: n1.使用压缩版的tomcat不能使用安装版的。 n2.第一个tomcat的配置不变。 n3.增加环境变量CATALINA_HOME2,值为新的tomcat
内存分配不足导致tomcat服务运行过慢
环境:阿里云服务器 Ubuntu 14.04 硬盘20G 内存1Gnnn该服务器之前死部署官网的服务器,因其他原因 需要在tomcat服务中部署两个项目n当部署好项目以后,发现新增的项目运行起来特别慢,top了一下 发现cpu在没有访问的时候占用率高达80%,应该是tomcat分配的内存有问题n果断 登录后台修改tomcat内存分配脚本nnnvim /usr/share/tomca
在一台机器上配置多个jdk和Tomcat
在对接的时候要在别人的服务器上配置web环境,但是很多时候别人的服务器上已经配置了一套web环境,都是jdk+Tomcat环境的,有时候jdk你可以复用:也就是这台服务器上正确的配置了你需要的的版本的jdk,此时Tomcat会选择这个默认的jdk。但是,有的时候这个jdk不符合你运行环境的要求,就需要额外的配置一套jdk了。我的方法是:n1、正常安装一个jdk,但不配置环境变量(因为别人已经配置
Linux操作系统下一台机器如何运行多个Tomcat
Linux操作系统下一台机器运行如何多个Tomcatnn第一步:下载tomcat,这个直接官网下载即可,下载连接;nn第二部:nn第三部:nn欢迎使用Markdown编辑器写nn本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:nnnMarkdown和扩展Markdown简洁的语法n代码块高亮n图片链接和图片上传nLaTex数学公式nUML序列图和流程图n离...
hdfs某台服务器datanode服务占用cpu过高
1、问题描述 n查看一下6834的进程是hadoop的datanode服务,可以看到cpu负载过高。2、解决方法(1) 关闭大页内存:echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag && echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
使用阿里云服务器运行tomcat,端口被占用异常
报错信息:端口被占用,如下图 n尝试了如下方法排除: n 1. 命令: netstat –apn 查看占用端口的程序, 没有发现端口占用情况 n 2.怀疑Nginx的问题, 彻底删除了Nginx, 结果依旧 n 3. 怀疑阿里防火墙的问题, 经排查,已解决该问题!!!!!!!!
如何在一台电脑上部署多个tomcat?
配置多个tomcat(下面所述方式是本人学习时查资料在自己本机配置方法总结,如果有哪里不对希望大家留言指出,谢谢) 1. 第一个Tomcat部署:n解压下载好的解压版tomcat 配置环境变量(新建CATALINA_HOME系统变量,变量值就是你解压的tomcat所在目录) 配置环境变量(PATH) n2.第二个Tomcat配置n换个目录解压你下载好的tomcat解压版,或者解压好 改个名字,或者
关于Linux虚拟机下运行tomcat端口号总是被占用的解决办法
问题描述:在使用tomcat时,我将默认的8080端口修改为其他的端口,如8888,但是会报告端口已被占用,后来我又改了其他的端口,仍然提示被占用,总结来说就是我改什么,就什么端口被占用于是乎我发现不只是我设置的端口号被占用,信息中还提示8009、8005等端口被占用百度了一会后发现这个8005端口是关闭用的端口于是乎我尝试性的将8005端口改为8055端口(随便一个)竟然发现tomcat运行成功...
MyEclipse下JSP程序运行时Tomcat端口被占用问题
在MyEclipse中进行JSP开发时,在已经启动了Tomcat服务器后,准备运行JSP页面时,rn有时会出现这样的关于Tomcat服务器端口占用的问题:rn“Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.rnrnrnThe server may alr
记一次项目运行cpu过高处理
第一次处理这种问题,新手不懂的从何下手走了不少弯路,记录一下,以后借鉴.nn对于cpu运行过高的问题,首先要打印堆栈信息,和线程运行cpu使用情况:nn   1.打印堆栈信息:nn      先通过top -c找到自己的线程对应的id值:nn     nn   jstack -l pid值 &amp;gt; new.txt 把当前线程的栈打到文件中nn   ps -mp pid值 -o THREAD,ti...
tomcat cpu占用过高,系统负载高问题跟踪
rnrn线上8核 linux服务器,负载为8为正常情况,目前CPU负载过高,最高负载30多,平均负载在20左右,已经持续近一周,具体占用CPU资源的服务是tomcat_sc,占用CPU资源高达:720%rnn使用jconsole去跟踪rnn更改catalina.sh 启动设置:rn $ CATALINA_OPTS=&quot;-Dcom.sun.management.jmxremote -Dcom.sun....
Qt creator 打开之后CPU和内存上升100%
Qt creator 打开之后CPU和内存上升100%最近要用海康的sdk进行二次开发,在ubuntu下的Qt环境下进行,但是打开qtcreator之后,包含sdk的头文件,十秒内系统必挂,打开system monitor观察,cpu和memory都是直逼100%,就是qtcreator占用的。 n 这么个奇葩的问题第一次遇到,逐个排查。最终找到一个头文件,只要是包含这个头文件就会出现这种情况
spring boot 项目启动时间过长,CPU占用高,内存占用高
解决启动时间过长的问题,首先得了解spring boot 得启动机制。
tomcat 应用服务启动cpu过高
参考资料:https://my.oschina.net/7001/blog/1504798?nocache=1516010315775nn1、Linux环境下可以使用top指令查看系统进程占用情况nnnn2、top -Hp pid(例23399)可以查看进程的线程运行情况nnnn3、jstack 23399|grep -A 10 5d13 (5d13 为线程id的16进制)查看一个进程里面的线程...
Eclipse jsp 运行tomcat提示端口占用错误
4.手工的Person 类对应的class文件(包含)复制到classes目录下 n 可以通过修改默认的输出目录达到自动把编译好的class放到classes目录下;tomcat端口冲突错误:在eclipse中从新启动、停止一次服务器
vscode更新之后rg.exe占用cpu过高
文件-&amp;gt;首选项-&amp;gt;设置,然后搜索“search.followSymlinks”改为falsesearch.followSymlinks是指控制是否在搜索中跟踪符号链接。search.followSymlinks: false 修复启动vscode后 rg.exe程序占用内存过大的问题。 // 控制是否在搜索中跟踪符号链接。 // 修复编辑器内存占用过大的问题 &quot;search.fo...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 从0学习java 大数据从0学习