top shows you all processes and their threads by default. If you'd like to 
constrain it to only show you information about a particular process then that 
is an option too. In linux -p with the process id should restrict output to 
just that process. Or when listing threads it will then only show you threads 
within that process. There are some other options to customize top output if 
you dig into the docs but probably that's all you need.

From: Dave Curylo [mailto:[email protected]] On Behalf Of Dave Curylo
Sent: Tuesday, April 09, 2013 10:55 AM
To: Rodrigo Kumpera
Cc: David Evans; [email protected]
Subject: Re: [Mono-list] Determine what's using CPU

Thanks Rodrigo and David, this was helpful, this points me to code that could 
be the issue.  One concern, though, when I use kill -QUIT, my stack dump only 
shows 4 threads, but when I use top -H, I see many more (about 20).  Where are 
the rest of the threads listed?

On Apr 9, 2013, at 12:41 PM, Rodrigo Kumpera wrote:


You can try to use kill -QUIT to ask mono to produce a full stack dump to 
stderr.

On Tue, Apr 9, 2013 at 12:14 PM, David Evans 
<[email protected]<mailto:[email protected]>> wrote:
I usually use "top -H" to get the thread id of the thread that is hogging the 
CPU. Then I use "top" to get the process id, then connect to that process using 
gdb and use "info threads" to find the thread number for the thread id that was 
hogging the CPU. Then I switch to that thread and back trace to see what it's 
doing, sometimes continuing and breaking a few times as a poor man's sample of 
different stack traces for what it's doing.

There are probably better ways of doing this, but that's the simple approach 
I've used with gdb.

-----Original Message-----
From: 
[email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>]
 On Behalf Of Dave Curylo
Sent: Tuesday, April 09, 2013 8:20 AM
To: [email protected]<mailto:[email protected]>
Subject: [Mono-list] Determine what's using CPU

I have a process that sporadically becomes unresponsive and starts using a lot 
of CPU.  Before I thought this was a GC issue, and switched to sgen, but the 
issue is still there.  I've use gdb with "thread apply all bk" in the past, 
which pointed me to the GC issues, but now it appears GC isn't really the 
problem.  Is there some other way to see what is causing the high CPU in gdb or 
is my only option to start the process with the mono profiler attached?
_______________________________________________
Mono-list maillist  -  
[email protected]<mailto:[email protected]> 
http://lists.ximian.com/mailman/listinfo/mono-list
_______________________________________________
Mono-list maillist  -  
[email protected]<mailto:[email protected]>
http://lists.ximian.com/mailman/listinfo/mono-list


_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to