2010/1/26 Erick Erickson <erickerick...@gmail.com>:
> > My indexing script has been running all
> > night and has accomplished nothing. I see lots of disk activity
> > though, which is weird.
>
>
> One explanation would be that you're memory-starved and
> the disk activity you see is thrashing. How much memory
> do you allocate to your JVM? A further indication that
> this is where you should start looking would be if your
> CPU usage is very low at the same time.....

CPU usage was very low. There were lots of free memory. I immediately
thought solr caused the disk activity, but I might have been wrong,
because the disk activity stopped after a while and the indexing still
showed no progress.

Does this thread dump reveal anything? It doesn't look like solr is doing much?

/Tim


<?xml-stylesheet type="text/xsl" href="threaddump.xsl"?>
<solr>
<core>example</core>
<system>
<jvm>
<version>1.5.0_22-147</version>
<name>Java HotSpot(TM) Server VM</name>
</jvm>
<threadCount>
<current>20</current>
<peak>23</peak>
<daemon>3</daemon>
</threadCount>
<threadDump>
<thread>
<id>64</id>
<name>pool-8-thread-1</name>
<state>WAITING</state>
<cpuTime>10430,6650ms</cpuTime>
<userTime>8602,0210ms</userTime>
<stackTrace>
<line>at sun.misc.Unsafe.park(Native Method) </line>
<line>at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
</line>
<line>at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
</line>
<line>at java.util.concurrent.DelayQueue.take(DelayQueue.java:131) </line>
<line>at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:533)
</line>
<line>at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:526)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
</line>
<line>at java.lang.Thread.run(Thread.java:613) </line>
</stackTrace>
</thread>
<thread>
<id>60</id>
<name>pool-7-thread-1</name>
<state>WAITING</state>
<cpuTime>132,0080ms</cpuTime>
<userTime>13,6950ms</userTime>
<stackTrace>
<line>at sun.misc.Unsafe.park(Native Method) </line>
<line>at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
</line>
<line>at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
</line>
<line>at 
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
</line>
<line>at java.lang.Thread.run(Thread.java:613) </line>
</stackTrace>
</thread>
<thread>
<id>26</id>
<name>DestroyJavaVM</name>
<state>RUNNABLE</state>
<cpuTime>1453,5030ms</cpuTime>
<userTime>1317,7670ms</userTime>
<stackTrace/>
</thread>
<thread>
<id>25</id>
<name>Timer-2</name>
<state>TIMED_WAITING</state>
<lock>java.util.taskqu...@6a58c4</lock>
<cpuTime>3,2500ms</cpuTime>
<userTime>0,8090ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at java.util.TimerThread.mainLoop(Timer.java:509) </line>
<line>at java.util.TimerThread.run(Timer.java:462) </line>
</stackTrace>
</thread>
<thread>
<id>24</id>
<name>pool-1-thread-1</name>
<state>WAITING</state>
<cpuTime>41,5590ms</cpuTime>
<userTime>39,1740ms</userTime>
<stackTrace>
<line>at sun.misc.Unsafe.park(Native Method) </line>
<line>at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
</line>
<line>at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
</line>
<line>at 
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
</line>
<line>at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
</line>
<line>at java.lang.Thread.run(Thread.java:613) </line>
</stackTrace>
</thread>
<thread>
<id>22</id>
<name>Timer-1</name>
<state>TIMED_WAITING</state>
<lock>java.util.taskqu...@e9d100</lock>
<cpuTime>96,9640ms</cpuTime>
<userTime>74,5150ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at java.util.TimerThread.mainLoop(Timer.java:509) </line>
<line>at java.util.TimerThread.run(Timer.java:462) </line>
</stackTrace>
</thread>
<thread>
<id>21</id>
<name>btpool0-9 - Acceptor0 SocketConnector @ 0.0.0.0:8983</name>
<state>RUNNABLE</state>
<inNative/>
<cpuTime>26,0110ms</cpuTime>
<userTime>23,3400ms</userTime>
<stackTrace>
<line>at java.net.PlainSocketImpl.socketAccept(Native Method) </line>
<line>at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) </line>
<line>at java.net.ServerSocket.implAccept(ServerSocket.java:450) </line>
<line>at java.net.ServerSocket.accept(ServerSocket.java:421) </line>
<line>at org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:97)
</line>
<line>at 
org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:516)
</line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
</line>
</stackTrace>
</thread>
<thread>
<id>20</id>
<name>btpool0-8</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@7a17</lock>
<cpuTime>734105,5810ms</cpuTime>
<userTime>727677,9460ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>19</id>
<name>btpool0-7</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@7414c8</lock>
<cpuTime>798010,4300ms</cpuTime>
<userTime>785039,2820ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>18</id>
<name>btpool0-6</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@e5c339</lock>
<cpuTime>719254,0510ms</cpuTime>
<userTime>710319,6850ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>17</id>
<name>btpool0-5</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@d38976</lock>
<cpuTime>243756,7410ms</cpuTime>
<userTime>240759,1390ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>16</id>
<name>btpool0-4</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@ad97f5</lock>
<cpuTime>501531,8820ms</cpuTime>
<userTime>496494,6760ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>15</id>
<name>btpool0-3</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@8f729c</lock>
<cpuTime>506615,3310ms</cpuTime>
<userTime>499281,0090ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>14</id>
<name>btpool0-2</name>
<state>RUNNABLE</state>
<cpuTime>463555,4030ms</cpuTime>
<userTime>459439,8950ms</userTime>
<stackTrace>
<line>at sun.management.ThreadImpl.getThreadInfo0(Native Method) </line>
<line>at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142) </line>
<line>at 
org.apache.jsp.admin.threaddump_jsp._jspService(org.apache.jsp.admin.threaddump_jsp:263)
</line>
<line>at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:80)
</line>
<line>at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) </line>
<line>at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
</line>
<line>at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:464)
</line>
<line>at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)
</line>
<line>at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) </line>
<line>at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
</line>
<line>at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
</line>
<line>at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
</line>
<line>at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
</line>
<line>at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
</line>
<line>at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
</line>
<line>at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
</line>
<line>at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
</line>
<line>at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:264)
</line>
<line>at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
</line>
<line>at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
</line>
<line>at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
</line>
<line>at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
</line>
<line>at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
</line>
<line>at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
</line>
<line>at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
</line>
<line>at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
</line>
<line>at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
</line>
<line>at org.mortbay.jetty.Server.handle(Server.java:285) </line>
<line>at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
</line>
<line>at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
</line>
<line>at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) </line>
<line>at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
</line>
<line>at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
</line>
<line>at 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
</line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
</line>
</stackTrace>
</thread>
<thread>
<id>13</id>
<name>btpool0-1</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@3508c0</lock>
<cpuTime>474719,7810ms</cpuTime>
<userTime>466715,4570ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>12</id>
<name>btpool0-0</name>
<state>TIMED_WAITING</state>
<lock>org.mortbay.thread.boundedthreadpool$poolthr...@dca7d0</lock>
<cpuTime>471927,0890ms</cpuTime>
<userTime>466073,8550ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:482)
</line>
</stackTrace>
</thread>
<thread>
<id>11</id>
<name>Timer-0</name>
<state>TIMED_WAITING</state>
<lock>java.util.taskqu...@5e3f91</lock>
<cpuTime>3815,8490ms</cpuTime>
<userTime>2435,4160ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at java.util.TimerThread.mainLoop(Timer.java:509) </line>
<line>at java.util.TimerThread.run(Timer.java:462) </line>
</stackTrace>
</thread>
<thread>
<id>4</id>
<name>Signal Dispatcher</name>
<state>RUNNABLE</state>
<cpuTime>0,1020ms</cpuTime>
<userTime>0,0360ms</userTime>
<stackTrace/>
</thread>
<thread>
<id>3</id>
<name>Finalizer</name>
<state>WAITING</state>
<lock>java.lang.ref.referencequeue$l...@9f6c2b</lock>
<cpuTime>8,2410ms</cpuTime>
<userTime>7,2220ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120) </line>
<line>at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136) </line>
<line>at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) </line>
</stackTrace>
</thread>
<thread>
<id>2</id>
<name>Reference Handler</name>
<state>WAITING</state>
<lock>java.lang.ref.reference$l...@7692f6</lock>
<cpuTime>12,5330ms</cpuTime>
<userTime>8,9670ms</userTime>
<stackTrace>
<line>at java.lang.Object.wait(Native Method) </line>
<line>at java.lang.Object.wait(Object.java:474) </line>
<line>at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
</line>
</stackTrace>
</thread>
</threadDump>
</system>
</solr>

Reply via email to