Return-Path: X-Original-To: apmail-storm-user-archive@minotaur.apache.org Delivered-To: apmail-storm-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 382E4114B2 for ; Tue, 22 Jul 2014 06:04:20 +0000 (UTC) Received: (qmail 16743 invoked by uid 500); 22 Jul 2014 06:04:19 -0000 Delivered-To: apmail-storm-user-archive@storm.apache.org Received: (qmail 16699 invoked by uid 500); 22 Jul 2014 06:04:19 -0000 Mailing-List: contact user-help@storm.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@storm.incubator.apache.org Delivered-To: mailing list user@storm.incubator.apache.org Received: (qmail 16688 invoked by uid 99); 22 Jul 2014 06:04:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jul 2014 06:04:19 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of zhenxuanpan@gmail.com designates 209.85.219.49 as permitted sender) Received: from [209.85.219.49] (HELO mail-oa0-f49.google.com) (209.85.219.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jul 2014 06:04:13 +0000 Received: by mail-oa0-f49.google.com with SMTP id eb12so8694334oac.8 for ; Mon, 21 Jul 2014 23:03:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=j0+NAK0a1ugkSijhRpVF94BegULJL3DbhE+5szERNYA=; b=lbon0yDpQkHgRLYenyUDSTJ1680EshXnEEf+3ttDco0RjnKtx8RjNQYlE5B2Eso9U8 jtJYETKdYRFkY9sAHDzhL8Qgxf6Jge7yi4caO5YgyIEN2ODCjF32UqkYG956QuYYFMvR sQuItTaBuR1igkLNLRzAqV8aapVwa9+hwEi2peL7RAhSSYrgKNKilrMfPHce+ewy3IRE KapMaieBdI2kqmPVy4TvBq81sPSq8SJH0xP7EKU0i8I32UsWIK6AemQijezCeeIFiEnT Cti4YA7J9Z80kwMDupXbBm8fF0AhgPqShYCbSsgh0GXZcJKtc/wp5VACgIAKvc5vZzno jvBg== MIME-Version: 1.0 X-Received: by 10.60.23.65 with SMTP id k1mr45762275oef.20.1406009033193; Mon, 21 Jul 2014 23:03:53 -0700 (PDT) Received: by 10.182.119.137 with HTTP; Mon, 21 Jul 2014 23:03:53 -0700 (PDT) Date: Tue, 22 Jul 2014 14:03:53 +0800 Message-ID: Subject: disruptor eat up cpu From: =?UTF-8?B?5r2Y6Ie76L2p?= To: user@storm.incubator.apache.org Content-Type: multipart/alternative; boundary=047d7b33ca42f97ff604fec1fca1 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b33ca42f97ff604fec1fca1 Content-Type: text/plain; charset=UTF-8 when i use storm(it use disruptor),I find a process eat up cpu, i use cgroup to bind 2 core I use jstack to find which thread use more cpu. i find "Thread-40" prio=10 tid=0x00007fb534c2d000 nid=0x27129 waiting on condition [0x000000004632a000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000756c6ff30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2116) at com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:87) at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:54) at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:56) at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62) at backtype.storm.daemon.executor$fn__4384$fn__4393$fn__4440.invoke(executor.clj:658) at backtype.storm.util$async_loop$fn__469.invoke(util.clj:396) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:662) I check storm use strategy, it use BlockingWaitStrategy . I see some info, it says, if use blockingWaitStrategy, it use no cpu while idle. so ,i so confused.who know it? --047d7b33ca42f97ff604fec1fca1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
when i use storm(it use disruptor),I find a process eat up cpu,= i use cgroup to bind 2 core
I use jstack to find which thread use more cpu. i find
"Thread-40" prio=3D10 tid=3D0x00007fb534c2d000 nid=3D0x27129 wait= ing on condition [0x000000004632a000]
=C2=A0 =C2=A0java.lang.Thread.State: TIMED_WAITING (parking)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at sun.misc.Unsafe.park(Nat= ive Method)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 - parking to wait = for <0x0000000756c6ff30> (a java.util.concurrent.locks.AbstractQueued= Synchronizer$ConditionObject)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.util.concu= rrent.locks.LockSupport.parkNanos(LockSupport.java:196)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.util.concu= rrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueued= Synchronizer.java:2116)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at com.lmax.disrup= tor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:87)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at com.lmax.disrup= tor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:54)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at backtype.storm.= utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:56)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at backtype.storm.= disruptor$consume_batch_when_available.invoke(disruptor.clj:62)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at backtype.storm.= daemon.executor$fn__4384$fn__4393$fn__4440.invoke(executor.clj:658)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at backtype.storm.= util$async_loop$fn__469.invoke(util.clj:396)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at clojure.lang.AF= n.run(AFn.java:24)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:662)
<= /div>

I check storm use strategy, it use=C2=A0BlockingWaitStrategy .
I see some info, it says, if use blockingWaitStrategy= , it use no cpu while idle.
so ,i so confused.who know it?
--047d7b33ca42f97ff604fec1fca1--