Toon posts:

[Debian woody] bash: fork: Resource temporarily unavailable

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb een klein probleem op een webserver.

Ik draai Tomcat 5.0.28, met Apache ervoor, en dat genereert wel wat processen (vrij druk bezochte site). Ik denk dat er zoiets van 400 processen draaien onder de user tomcat (daarmee start en stop ik tomcat) en www-data.

Nu kan ik niet meer inloggen als user tomcat, hij geeft als error: "bash: fork: Resource temporarily unavailable". Na wat opzoekingswerk bleek dat hij aan de limiet zou zitten van het aantal processen die hij kan openen, dus het proces 'bash' kan niet meer worden toegvoegd.

Is er enige manier om het aantal processen die de user tomcat mag openen, te verhogen? Of zit ik met te weinig resources?

Wat ik al heb geprobeerd:
Editen van /etc/pam.d/login

code:
1
session    required   pam_limits.so


Editen van /etc/security/limits.conf

code:
1
tomcat           hard    nproc           500


Mijn systeem:

Debian woody 2.4.30
P4 2.0 GHz
1024 MB ram
36 GB SCSI
2GB swap

Edit:

Load Averages 0.59 0.49 0.37
Physical Memory: 98% vol (nog 23 MB vrij)
Swap Memory: voor 3 MB gevuld...

[ Voor 8% gewijzigd door Verwijderd op 17-04-2005 19:39 ]


  • HarmoniousVibe
  • Registratie: September 2001
  • Laatst online: 19-01 10:48
Let er ook op dat je de soft limit ook omhoog zult moeten gooien (als je deze niet hebt ge-ommit). Wat zegt ulimit -u?

12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW


Verwijderd

Topicstarter
ulimit -u zegt: 256

Maar weet niet juist hoe aan te passen voor een gewone gebruiker...

Verwijderd

Topicstarter
Heb het opgelost

Editen van /etc/security/limits.conf

code:
1
tomcat           soft    nproc           500


Soft ipv hard, en het werkt...

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Verder zou ik je aanraden om die bak te upgraden naar iets recenters. Java en Tomcat draaien ontzettend brak op oudere distros met 2.4 kernels en een non-NPTL glibc.

Verwijderd

Topicstarter
_JGC_ schreef op maandag 18 april 2005 @ 09:49:
Java en Tomcat draaien ontzettend brak op oudere distros met 2.4 kernels en een non-NPTL glibc.
Kan je daar wat meer over vertellen?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op oudere Linux versies (met LinuxThreads ipv NTPL) wordt per thread een proces gemaakt, wat resources kost en relatief langzaam is. Aangezien Java uit zichzelf al nogal wat threads gebruikt, en Tomcat daar nog eens een schepje bovenop gooit krijg je dan al snel zo'n enorme lijst processen. Op een recente versie worden threads gewoon als threads behandeld, en blijft het dus bij een enkel proces.

Verwijderd

Topicstarter
Blijkbaar heeft het aantal processen het probleem niet opgelost. Vooraleer ik mijn OS upgrade zou ik eerst nog wat zaken willen uitproberen. Zoals het aantal sockets verhogen. In linux moet dat blijkbaar ook via ulimit. Voor een gewone gebruiker dus weer in /etc/security/limits.conf (nofile)

Enig probleem is: hij wil de limiet van 1024 open files niet wijzigen.

Iemand een idee?

cat /etc/security/limits.conf

code:
1
2
3
4
*                soft    nofile          2048
*                hard    nofile          4096
*                soft    nproc           5000
*                hard    nproc           6000


Nadien geeft ulimit -a (bij een gewone gebruiker)

code:
1
2
3
4
5
6
7
8
9
10
11
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) 5000
virtual memory        (kbytes, -v) unlimited

[ Voor 31% gewijzigd door Verwijderd op 20-04-2005 18:41 ]


  • HarmoniousVibe
  • Registratie: September 2001
  • Laatst online: 19-01 10:48
Ben je ingelogd SSH? Dan moet je UsePAM aanzetten om de limits te applyen. En als je kdm gebruikt moet je 'session required pam_limits.so' toevoegen aan /etc/pam.d/kde-np.

12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW

Pagina: 1