I am running Go code on a shared web hosting server from a major hosting
company.  Using cgroups, they limit the number of threads any user can
create to 25.  Up until a week ago, they had me running on a server with 24
cores, and everything worked fine.  Now they've moved me to a new server
with 128 cores.  The Go runtime thinks it should be able to create that
many threads, and it can't, and all of my Go programs crash with, "runtime:
failed to create new OS thread".

Setting GOMAXPROCS doesn't help this, since it only controls the number of
active threads, not the total number of threads.  The Go runtime still
thinks it can create as many threads as there are cores, and crashes the
program when it's blocked from doing so.

Is there any way around this?  Or is Go just completely unusable in an
environment where the per-user process limit is less than the number of
cores?

Many thanks,
Steve

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAAnpqKHvfni_U%2BkCHp0hhUryDytPzQ%2BSqHZTcAFH9HNXgRCy_A%40mail.gmail.com.

Reply via email to