tomcat占用CPU能否进行限制?

麻美学姐 发布于 2016/03/08 23:01
阅读 1K+
收藏 1

tomcat7 上跑了一个 j2ee 项目。

每晚凌晨需要做一遍数据统计。

由于数据量过大,会导致宕机15-20分钟。

这个宕机在那个时段原本并没有影响。

但是最近在那个服务器上部署多了一个django项目。

宕机会影响到那个服务器不可用。

想说能不能把那段代码占用的资源或者tomcat本身占用的资源人为地限制住。

只让j2ee自己宕掉而不影响同一服务器上的django项目。

求助各位,我会同时着手解决。

加载中
0
excepiton
excepiton
检查下那段时间是否频繁GC导致CPU占用高
麻美学姐
麻美学姐
监控表示是磁盘IO爆炸了。
0
哈库纳
哈库纳

做数据统计的时候,不要写死循环把数据跑完。 要跑一跑seep 一下,把CPU让出来。 让操作系统喘口气。

哈库纳
哈库纳
回复 @麻美学姐 : 是啊, 你一口气直接处理那么多数据。 DB 的 io 能受得了不,即使IO没问题。 处理数据时间太长 是不是占用 CPU 太多,这也会是问题。 在跑定时任务的时候,要控制好节奏,避免影响到正常的服务。
麻美学姐
麻美学姐
直接使用 thread.sleep() ?
0
kennedy
kennedy
linux cgroup
0
Nox
Nox

没有办法设置最大的CPU占有率。

我觉得还是应该在程序上进行优化,不要有太深的递归,能做调优的业务调整一下。

JVM配置嘛,好歹限制一下线程池的大小。然后限制一下XSS。

0
平安北京
这太强大了
0
幺哥

不觉得在同一台机器直接部署两个应用本身就存在问题么?

麻美学姐
麻美学姐
还行,俩都是小项目。
0
loyal
loyal
搞到VM里去
0
酷酷的就
酷酷的就

建议你那个统计,再拆分的小一点,时间拖长一点,这样时间换空间,是比较稳妥的做法


0
行业协汇袁斌
行业协汇袁斌
用docker部署是否能解决这个问题?
0
麻美学姐
麻美学姐

监控得到的数据是磁盘IO爆炸。

CPU内存啥的都还好。


返回顶部
顶部