[Mono-list] mod-mono-server process busy 100% or 200% CPU

Maxim makska at yandex.ru
Wed Sep 3 13:03:06 UTC 2014


I've just created ASP.Net website and ran it on Apache&mono on Linux.
And I've got strange situation. After 50.000-100.000 requests mod-mono-server 
process unexpectedly become busy with 100% or 200% (exactly) CPU load.
After restarting mono process via mono-ctl panel cpu consumption returns to 1-3%.
I've found some errors like
[Wed Sep 03 16:02:57 2014] [error] (32)Broken pipe: write_data failed
[Wed Sep 03 16:02:57 2014] [error] (32)Broken pipe: write_data failed
[Wed Sep 03 16:02:57 2014] [error] command failed: failed to get client block (data)
in apache error_log, but it seems like there are no relations in time between 
these errors and busy moment.

So, the questions:
1) are there any way to know what is happening in this situation? What threads 
are running, etc... I'm not sure the reason is in mono itself, may be the reason 
is in my application. Full profiling on production server is not possible, I 
mean just a few statistics,
2) if the reason is in garbage collector: are there any ways to tune it? Or to 
switch from sgen to old Boehm or so on?

Any help are highly appreciated!

P.S. Mono 3.2.8 compiled from sources on standard CentOS 6.5
# mono -V
Mono JIT compiler version 3.2.8 (tarball Wed Jun 11 00:48:42 MSK 2014)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. 
     TLS:           __thread
     SIGSEGV:       altstack
     Notifications: epoll
     Architecture:  amd64
     Disabled:      none
     Misc:          softdebug
     LLVM:          supported, not enabled.
     GC:            sgen

# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Apr  3 2014 23:56:16

# uname -a
Linux web1.server 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 23:32:49 UTC 2014 
x86_64 x86_64 x86_64 GNU/Linux

With best wishes,
Max Karavaev

More information about the Mono-list mailing list