|
Out of memory error is observed when l2switch is installed and flows are being added to the controller through the REST API. The out of memory condition seems to be related to the PS Survivor space (see attached jconsole snapshot). The exception message observed last was as follows (but it can vary):
objc[2718]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Exception in thread "DOM-OPER-DCL-77" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:714)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:949)
at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1017)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1163)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
To reproduce:
1. Get the RC2 image distribution-karaf-0.2.0-Helium-RC2-verify-v201409250627
2. Install features as shown below (basically, openflow and l2switch)
3. Run the attached python scripts to generate/ clear flows until the
out of memory issue occurs:
3.1 > python flow_config_perf.py --nflows=200 --nthreads=10 --ncycles=10 --no-delete --auth
3.2 Wait until 20000 flows show up in the operational data space. Use:
> python inventory_crawler.py --plevel=2 --auth
3.3 clear the flows from the controller:
> python config_cleanup.py --auth
3.4 Repeat until the out of memory condition occurs
Installed features:
tandard | 3.0.1 | x | standard-3.0.1 | Karaf standard feature
config | 3.0.1 | x | standard-3.0.1 | Provide OSGi ConfigAdmin support
package | 3.0.1 | x | standard-3.0.1 | Package commands and mbeans
http | 3.0.1 | x | standard-3.0.1 | Implementation of the OSGI HTTP Service
war | 3.0.1 | x | standard-3.0.1 | Turn Karaf as a full WebContainer
kar | 3.0.1 | x | standard-3.0.1 | Provide KAR (KARaf archive) support
ssh | 3.0.1 | x | standard-3.0.1 | Provide a SSHd server on Karaf
management | 3.0.1 | x | standard-3.0.1 | Provide a JMX MBeanServer and a set of MBeans in K
odl-netconf-api | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: API
odl-netconf-mapping-api | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: Mapping API
odl-netconf-util | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 |
odl-netconf-impl | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: Impl
odl-config-netconf-connector | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: Connector
odl-netconf-netty-util | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: Netty Util
odl-netconf-monitoring | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-netconf-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Netconf :: Monitoring
odl-yangtools-models | 0.6.2-Helium-RC2-verify-v201409250627 | x | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627 | OpenDaylight :: Yangtools :: Models
odl-yangtools-data-binding | 0.6.2-Helium-RC2-verify-v201409250627 | x | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627 | OpenDaylight :: Yangtools :: Data Binding
odl-yangtools-binding | 0.6.2-Helium-RC2-verify-v201409250627 | x | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627 | OpenDaylight :: Yangtools :: Binding
odl-yangtools-common | 0.6.2-Helium-RC2-verify-v201409250627 | x | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627 | OpenDaylight :: Yangtools :: Common
odl-yangtools-binding-generator | 0.6.2-Helium-RC2-verify-v201409250627 | x | odl-yangtools-0.6.2-Helium-RC2-verify-v201409250627 | OpenDaylight :: Yangtools :: Binding Generator
odl-config-persister | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config Persister
odl-config-startup | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config Persister:: Config Startup
odl-mdsal-common | 1.1-Helium-RC2-verify-v201409250627 | x | odl-config-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config :: All
odl-config-api | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config :: API
odl-config-netty-config-api | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config :: Netty Config API
odl-config-core | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config :: Core
odl-config-manager | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config :: Manager
odl-l2switch-switch | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: Switch
odl-l2switch-hosttracker | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: HostTracker
odl-l2switch-addresstracker | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: AddressTracker
odl-l2switch-arphandler | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: ArpHandler
odl-l2switch-loopremover | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: LoopRemover
odl-l2switch-packethandler | 0.1.0-Helium-RC2-verify-v201409250627 | x | l2switch-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: L2Switch :: PacketHandler
odl-openflowjava-protocol | 0.5-Helium-RC2-verify-v201409250627 | x | odl-openflowjava-0.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Openflow Java :: Protocol
odl-restconf | 1.1-Helium-RC2-verify-v201409250627 | x | odl-controller-1.1-Helium-RC2-verify-v201409250627 | OpenDaylight :: Restconf
odl-restconf-noauth | 1.1-Helium-RC2-verify-v201409250627 | x | odl-controller-1.1-Helium-RC2-verify-v201409250627 | OpenDaylight :: Restconf
odl-config-netty | 0.2.5-Helium-RC2-verify-v201409250627 | x | odl-config-persister-0.2.5-Helium-RC2-verify-v201409250627 | OpenDaylight :: Config-Netty
odl-flow-model | 1.1-Helium-RC2-verify-v201409250627 | x | odl-flow-1.1-Helium-RC2-verify-v201409250627 | OpenDaylight :: Flow :: Model
odl-flow-services | 1.1-Helium-RC2-verify-v201409250627 | x | odl-flow-1.1-Helium-RC2-verify-v201409250627 | OpenDaylight :: Flow :: Services
odl-protocol-framework | 0.5.0-Helium-RC2-verify-v201409250627 | x | odl-protocol-framework-0.5.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: Protocol Framework
odl-aaa-authn | 0.1.0-Helium-RC2-verify-v201409250627 | x | odl-aaa-0.1.0-Helium-RC2-verify-v201409250627 | OpenDaylight :: AAA :: Authentication
odl-openflowplugin-southbound | 0.0.3-Helium-RC2-verify-v201409250627 | x | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627 | OpenDaylight :: Openflow Plugin :: SouthBound
odl-openflowplugin-flow-services | 0.0.3-Helium-RC2-verify-v201409250627 | x | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627 | OpenDaylight :: Openflow Plugin :: Flow Services
odl-openflowplugin-drop-test | 0.0.3-Helium-RC2-verify-v201409250627 | x | openflowplugin-0.0.3-Helium-RC2-verify-v201409250627 | OpenDaylight :: Openflow Plugin :: Drop Test
pax-jetty | 8.1.14.v20131031 | x | org.ops4j.pax.web-3.1.0 | Provide Jetty engine support
pax-http | 3.1.0 | x | org.ops4j.pax.web-3.1.0 | Implementation of the OSGI HTTP Service
pax-http-whiteboard | 3.1.0 | x | org.ops4j.pax.web-3.1.0 | Provide HTTP Whiteboard pattern support
pax-war | 3.1.0 | x | org.ops4j.pax.web-3.1.0 | Provide support of a full WebContainer
odl-mdsal-broker | 1.1-Helium-RC2-verify-v201409250627 | x | odl-mdsal-1.1-Helium-RC2-verify-v201409250627 | OpenDaylight :: MDSAL :: Broker
|