12
回答
tomcat占用CPU能否进行限制?
终于搞明白,存储TCO原来是这样算的>>>   

tomcat7 上跑了一个 j2ee 项目。

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

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

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

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

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

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

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

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

举报
麻美学姐
发帖于2年前 12回/1K+阅
共有12个答案 最后回答: 2年前

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

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

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

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

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

顶部