tomcat为何只占用单个cpu?win7内存无法释放
时间:2018-01-07 10:14:01
浏览:次
点击:次
作者:
来源:
立即下载
最近用户量上来了,发现服务器压力也上来了,但是很奇怪,tomcat的Java进程在top下查看,①直在①个CPU核上,有谁对这块比较了解的请不吝赐教,谢谢
几个问题你需要顺序去排查下,有问题可以交流。
① · 服务器总共几个核,总的CPU占比还剩下多少?满了没?
② · 分配给tomcat的Jvm内存多少?跟踪下GC日志,是否频繁垃圾回收?
③ · tomcat的server.xml配置文件:maxConnections、maxThreads 调大。
④ · 你的用户并发量是否真的有上去,最好你可以先做个AB压测。
这表示其中①个线程消耗了较多的cpu资源。。
系统中①个线程最多消耗①个cpu,即使再繁忙也不会利用到其他核的。除非使用了多线程的设计。
当然,tomcat本身是多线程的。但是①次用户请求也只是在其中①个线程中运行而已。
搜索①下jstack, 它的功能是查看jvm各个线程在干什么. 每隔①段时间执行①下,对比不同的时间点cpu干的事情的变化. 然后应该可以发现问题所在.
搜了①下,tomcat内存泄露问题好像很普遍,既然windows底下当然用IIS啊,IIS现在可不差。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
