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

Maxim makska at yandex.ru
Thu Sep 4 02:07:00 UTC 2014


Hi William!

My situation looks like the same. MySQL backend of website sometimes response 
too slow.
I've reduced all timeouts and it helps a little.
The difference - I'm using xsp2.

By the way, what version of Mono do you use?

Regards,
Max Karavaev


On 09/03/2014 11:58 PM, William Ivanski wrote:
> We also ran into this problem here.
>
> I never could really track which was the cause of the CPU overload. BUT...
>
> Our XSP4 process access an Oracle XE database. At the time of the 100% - 200% 
> CPU overload, the Oracle processes were processing some stuff, and the memory 
> and swap usage of the Oracle processes was high too.
>
> Memory usage of the XSP4 processes was normal.
>
> So, I might guess the Oracle processes "hanged" or found a "deadlock", and 
> somehow the XSP4 overload the processor when it cannot get immediate response 
> from the Oracle server.
>
> William Ivanski
>
>
> 2014-09-03 10:03 GMT-03:00 Maxim <makska at yandex.ru <mailto:makska at yandex.ru>>:
>
>     Hello!
>
>     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.
>     www.mono-project.com <http://www.mono-project.com>
>         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
>     _______________________________________________
>     Mono-list maillist  - Mono-list at lists.ximian.com
>     <mailto:Mono-list at lists.ximian.com>
>     http://lists.ximian.com/mailman/listinfo/mono-list
>
>



More information about the Mono-list mailing list