0

I'm exercising with OpenDDS to understand its behavior. I have a VMware workstation with Ubuntu 16.04.1 (8GB RAM and 30GB hard disk). I would like to run OpenDDS examples OpenDDS-3.11/examples/DCPS/IntroductionToOpenDDS as described in AAA_README.txt, but with many instances of publisher and subscriber.

So I have created a simple script for publisher and subscriber which would start the process every few seconds as below,

pub.sh

for value in {1..250} ; do ./publisher -DCPSConfigFile dds_tcp_conf.ini & sleep 30 done

sub.sh

for value in {1..150} ; do ./subscriber -DCPSConfigFile dds_tcp_conf.ini & sleep 30 done Here the publisher publishes two topics. I first started the DCPSInfoRepo followed by sub.sh and pub.sh respectively. But what I observed was that the xorg or compiz runs out of memory after the 50th instances of either publisher or subscriber is started.

I even tried with RTPS but observed the same.

Can someone help me to understand why it's eating up a lot of memory while running many instances?

Panch
  • 1,097
  • 3
  • 12
  • 43
  • (Though this should be in a comment, I don't have the required 50 reputation.) I created a 8 vCPU VM with Ubuntu 16.04.1, 8 GB RAM, 30 GB HDD, and downloaded and built Open DDS 3.11. I created the scripts you listed, but changed it so there were 250 subscribers, and also changed both sleeps to "sleep 1". I never had any OOM errors. Did you make any other code changes? – Blistering Sheep Aug 23 '17 at 03:28
  • @Blistering Sheep, Thanks for your comment. I have modified the following lines in the `publisher.cpp` `ACE_Time_Value quarterSecond( 0, 8000000 ); for ( int i = 0; i < 25000; ++i ) {`, have increased the quarter second to 8 seconds and iteration from 20 to 25000. The rest reamins same. – Panch Aug 25 '17 at 06:23
  • It was running successfully for 10 minutes before I ran into OOM, could you run it a bit longer than that and kindly let me know what you observed. I appreciate your help. – Panch Aug 25 '17 at 06:30

0 Answers0