Hi
We are scale testing. Our simulator is in Azure and what we have noticed is that we get following exception when we have about 3500 leshan simulators.
EXCEPTION:OutOfMemoryError: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
java.lang.Thread.start0(Native Method)
java.lang.Thread.start(Thread.java:717)
org.eclipse.californium.elements.UDPConnector.start(UDPConnector.java:169)
org.eclipse.californium.core.network.CoapEndpoint.start(CoapEndpoint.java:418)
org.eclipse.californium.core.CoapServer.start(CoapServer.java:215)
org.eclipse.leshan.client.californium.LeshanClient.start(LeshanClient.java:173)
....
....
Has anybody come across this problem and any suggestions on how to go about resolving this problem?
Available memory to the container is 25gb ram and it has used up 10gb.
Settings at the docker engine level are are follows:
/ # ulimit -a
-f: file size (blocks) unlimited
-t: cpu time (seconds) unlimited
-d: data seg size (kb) unlimited
-s: stack size (kb) 8192
-c: core file size (blocks) 0
-m: resident set size (kb) unlimited
-l: locked memory (kb) 82000
-p: processes unlimited
-n: file descriptors 1048576
-v: address space (kb) unlimited
-w: locks unlimited
-e: scheduling priority 0
-r: real-time priority 0
I was looking in to tweaking these properties: NETWORK_STAGE_RECEIVER_THREAD_COUNT and NETWORK_STAGE_SENDER_THREAD_COUNT in californium.properties. But I don't think that will help much since it seems the resource issue is at the system
level.
Thanks
J.