pchalamet / cassandra-sharp

high performance .NET driver for Apache Cassandra
114 stars 41 forks source link

Mono - Warning: Degraded allocation ... nursery-size ... #77

Closed jakiapps closed 7 years ago

jakiapps commented 10 years ago

I've created an application that heavily uses async, and I've received the following warning at least once:

"Warning: Degraded allocation. Consider increasing nursery-size if the warning persists."

I've googled it, but all I found was some other guy using "ServiceStack's 'Long running apphost base'" Since cassandra-sharp uses long running connections, I figured it may be related. Also, on some other page presenting a similar error, someone said;

"Your program is causing too many objects to be pinned, you probably have too many threads with too big stacks."

A proposed solution on yet another page is "setting MONO_GC_PARAMS environment variable to 'nursery-size=8m'" - but I wouldn't be surprised if that just delays the issue from occurring. I'm hoping for a proper remedy.

So my question is; is this an issue with cassandra-sharp, and can it be fixed? And if not; is it something I can properly fix on my end? And by that I mean a way for my application to detect when it's reaching that nursery-size (whatever that is) so it can stop queueing more work.

pchalamet commented 10 years ago

By itself, c*# does not create much threads (some timers and one thread per connection).

I do not know how your application behaves, but first check what you are doing in your application first. Also, do you have know the number of queries/seconds ? What is the size of queries data ?

Anyway, if you want me to investigate, send something to help reproducing what you are seeing - otherwise, it will be pretty tough to investigate !

Thanks,

-----Original Message----- From: "jakiapps" notifications@github.com Sent: ‎01/‎06/‎2014 15:36 To: "pchalamet/cassandra-sharp" cassandra-sharp@noreply.github.com Subject: [cassandra-sharp] Mono - Warning: Degraded allocation ...nursery-size ... (#77)

I've created an application that heavily uses async, and I've received the following warning at least once: "Warning: Degraded allocation. Consider increasing nursery-size if the warning persists." I've googled it, but all I found was some other guy using "ServiceStack's 'Long running apphost base'" Since cassandra-sharp uses long running connections, I figured it may be related. Also, on some other page presenting a similar error, someone said; "Your program is causing too many objects to be pinned, you probably have too many threads with too big stacks." A proposed solution on yet another page is "setting MONO_GC_PARAMS environment variable to 'nursery-size=8m'" - but I wouldn't be surprised if that just delays the issue from occurring. I'm hoping for a proper remedy. So my question is; is this an issue with cassandra-sharp, and can it be fixed? And if not; is it something I can properly fix on my end? And by that I mean a way for my application to detect when it's reaching that nursery-size (whatever that is) so it can stop queueing more work. — Reply to this email directly or view it on GitHub.