Puncte:2

pthread_create a eșuat (EAGAIN) cu majoritatea software-ului

drapel vn

Am un vServer (16 GB RAM, 6 vCore) care rulează Ubuntu Server (Linux 4.15.0) cu câteva containere docker.

Acum câteva zile, am implementat un container nou și pur și simplu ar refuza să înceapă cu crashdump-uri native ciudate de la docker-compose, majoritatea incluzând aceste mesaje de eroare:

fork/exec /usr/bin/containerd-shim-runc-v2: resursa indisponibilă temporar: necunoscut
runtime/cgo: pthread_create failed: Resursa indisponibilă temporar SIGABRT:
nu a reușit să creeze un fir de operare nou (au deja 5; errno=11) timp de execuție: poate fi necesar să crească numărul maxim de procese ale utilizatorului (ulimit -u)

După aceea, acest lucru s-a întâmplat și cu multe containere care funcționau anterior. Cu toate acestea, am repornit dockerd și toate containerele mele, iar problema a părut să dispară.

Astăzi, am vrut să pornesc serverul meu Minecraft (Forge modificat 1.16 pe Java 11 fără docker) și problema a revenit:

[136,281s][warning][os,thread] Nu s-a putut porni firul - pthread_create a eșuat (EAGAIN) pentru atribute: stacksize: 1024k, guardsize: 0k, detașat.

Și cel mai ciudat lucru de până acum, nu poate deschide dispozitivul TTY?:

java.io.IOException: Nu se poate rula programul „stty”: eroare=11, resursa indisponibilă temporar

După aceste mesaje, sesiunea SSH tocmai s-a blocat, iar un al doilea terminal mi-a arătat că nu am atins nicio limită de ulimit -a, iar cu Minecraft rulând încă mai am 9 GB de RAM liber. htop arată 90 de sarcini care rulează. Lucrez cu servere Linux de ani de zile, nu am văzut niciodată erori ca acestea - care ar putea fi cauza?

Știu că erori ca acestea au mai fost întrebat pe SF, dar niciunul dintre răspunsuri nu a schimbat ceva pentru mine.

Michael Hampton avatar
drapel cz
Vă rugăm să postați rezultatul lui `virt-what` (instalați-l dacă nu este prezent).
drapel vn
@MichaelHampton Arată `openvz lxc`
Michael Hampton avatar
drapel cz
Ei bine, aceasta este o veste de două ori proastă. Un container în interiorul unui container și încercați să utilizați Docker? Doar opriți-vă acum și obțineți o mașină virtuală reală de la alt furnizor.
drapel vn
@MichaelHampton Înseamnă că hosterul meu folosește deja două containere imbricate? De fapt, nu am avut niciodată probleme până acum
Michael Hampton avatar
drapel cz
Așa arată. Sau ar putea fi noul OpenVZ 7, care se bazează pe LXC. Oricum ai cuibărit containere, Docker are nevoie de ajutor special pentru a face asta, iar OpenVZ este oricum foarte ciudat cu alocarea resurselor; printre altele, are multe probleme cu aplicațiile Java. OpenVZ este cel mai bine evitat de aproape toată lumea.
drapel vn
@MichaelHampton bine, nu știam asta... Am rulat containere docker pe acel sistem de luni de zile și asta nu s-a întâmplat niciodată. Deci, practic, nu pot face nimic pentru a remedia acest lucru, cu excepția unui serach pentru alt furnizor? Un alt lucru pe care l-am observat este că de la prima prăbușire a dockerului, bash în sine nu reușește uneori să fork() un nou proces - cu același mesaj de eroare... vine și de la virtualizator?
drapel vn
Acest lucru pare să se întâmple și atunci când există deja „o mulțime” de containere docker care rulează (în prezent, am 18 pentru a fi exact)
Puncte:1
drapel vn

În sfârșit am găsit problema: hosterul meu limitează numărul de fire la 700 în configurația lor OpenVZ.

Pot vedea asta în /proc/user_beancounters. Se pare că dacă numproc se apropie de 700, apar aceste erori. Nu pot face nimic decât să reduc numărul de thread-uri / containere docker.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.