Ignore that as it just triggers a panic if the limit is exceeded, however based on that I'm guessing it's not going to be possible.
On Thu, 1 Feb 2024 at 19:01, Steven Hartland <stevenmhartl...@gmail.com> wrote: > Sounds sensible to me. > > I haven't read the entire thread, pun intended ;-), so just checking if > you tried debug.SetMaxThreads > <https://pkg.go.dev/runtime/debug#SetMaxThreads>? > > > On Thu, 1 Feb 2024 at 16:42, Steve Roth <st...@rothskeller.net> wrote: > >> Fair question. In their view, 25 threads per user is a sensible limit. >> Their mindset is based around single-threaded PHP. And for that reason >> among others, yes, switching providers is definitely something I will >> pursue. But that will be a long-term effort. Right now I'm looking for a >> short-term solution to get my site back up. >> >> Thanks, >> Steve >> >> On Thu, Feb 1, 2024 at 8:34 AM Steven Hartland <stevenmhartl...@gmail.com> >> wrote: >> >>> To be honest I would question if its a usable solution if they are >>> limiting that low on threads, so is the fix to switch or have the provider >>> increase the limit to a sensible number? >>> >>> On Thu, 1 Feb 2024 at 16:08, Steve Roth <st...@rothskeller.net> wrote: >>> >>>> Thanks to the people who suggested how to limit the number of apparent >>>> cores. Unfortunately, doing that didn't solve the problem. I have the >>>> number of cores now limited to two — confirmed by checking runtime.NumCPU() >>>> — but the program is still trying to allocate more than 25 threads, and >>>> crashing when cgroups won't let it. >>>> >>>> Surely there must be some way to get a Go program to run successfully >>>> in an environment with process limits? Any further suggestions would be >>>> greatly appreciated. >>>> >>>> Regards, >>>> Steve >>>> >>>> >>>> On Wed, Jan 31, 2024 at 6:43 PM Steve Roth <st...@rothskeller.net> >>>> wrote: >>>> >>>>> 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/CAAnpqKEzZcFxDkG2Qtzf25hPwkZq2EstbDbYtBz4CtTaBQxqWA%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/golang-nuts/CAAnpqKEzZcFxDkG2Qtzf25hPwkZq2EstbDbYtBz4CtTaBQxqWA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- 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/CAA38pea4tD4vhtO4j-YhCM1T0x0y2nm3439%3DagnLP%3D5SF1VHLg%40mail.gmail.com.