हम "java.lang.OutOfMemoryError : unable to create new native Thread
32k थ्रेड्स (ps -eLF | grep -c java) के बाद 8GB RAM VM पर " प्राप्त कर रहे हैं "
हालांकि, "top" and "free -m" shows 50% free memory available
। JDk 64 बिट है और हॉटस्पॉट और JRockit दोनों के साथ प्रयास किया गया है। सेवर में लिनक्स 2.6.18 है
हमने OS stack size (ulimit -s)
ट्वीकिंग और अधिकतम प्रक्रिया (अलिमिट -यू) की सीमा, सीमा को बढ़ाने की कोशिश की ।
इसके अलावा, हमने ढेर आकार संयोजन के लगभग सभी संभव प्रयास किए, इसे कम, उच्च आदि रखते हुए।
हम जिस स्क्रिप्ट का उपयोग एप्लिकेशन को चलाने के लिए करते हैं वह है
/opt/jrockit-jdk1.6/bin/java -Xms512m -Xmx512m -Xss128k -jar JavaNatSimulator.jar /opt/tools/jnatclients/natSimulator.properties
उत्तर के लिए धन्यवाद।
हमने /etc/security/limits.conf और ulimit के संपादन की कोशिश की है लेकिन फिर भी वही है
[root@jboss02 ~]# 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) 72192
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65535
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) 72192
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ExecutorService
इसके बजाय थ्रेड पूल ( ) का उपयोग करें।