Out of Memory 7GB cache-d memóriával?

Sziasztok!

A következő problémával fordulok hozzátok:
Van egy CentOS 6.4-et futtató szerverem ( 64 bites ) 32GB memóriával. Ezen 6-7db java process fut darabonként 2-3GB memóriahasználattal. ( start scriptekben: -Xmx3G -Xms3G )

A free -g azt írja, hogy 7GB cache-d memória van, de amikor elindítanék még egy java processt 2GB-os memória használattal, akkor OutOfMemory-t kapok. Úgy gondolnám, hogy fel kellene szabadítania a gyorsítótárazott-ból elegendőt, de hozzá sem nyúl. a SWAP sincs használva.

Merre keressem a problémát?

Szerk.:
A process a következő beköpéssel száll el: OutOfMemoryError: unable to create new native thread

Hozzászólások

Laikusként: ez inkább tűnik valami Java feature-nek, mint OS oldali problémának.

A jelenség reboot után (viszonylag) közvetlenül is jelentkezik?

A usernek nincs beállítva limit? Ulimit és környéke.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)


ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 256675
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

vm.min_free_kbytes=2097152 (vagy még magasabb...)

Ha numa architektúra akkor ez is segíthet:
vm.zone_reclaim_mode=1

Jobban megvizsgálva a logokat, a következővel száll el a java: OutOfMemoryError: unable to create new native thread

Én ezt találtam "viccesnek": http://devgrok.blogspot.hu/2012/03/resolving-outofmemoryerror-unable-to…

Szóval ha nem memória gond, még lehet, hogy elérték az egy user által megnyitható fájlok limitjét, ami jelen esetben 1024.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)