ns3 sendstuff вызывает увеличение памяти - PullRequest
0 голосов
/ 21 ноября 2018

У меня вопрос по поводу ns3.Мы создаем 250 узлов в первом kvm с помощью csma , и взаимодействуем с другим kvm (через маршрутизатор) с помощью моста через мост и сокета udp.Но когда мы начали запускать программу, используйте команду linux "top", чтобы увидеть использование памяти, оно будет увеличиваться;и когда мы выводим m_unscheduledEvents, ++ намного больше, чем -, что означает, что SendStuff() увеличивается.И как мы можем решить вопрос об увеличении памяти?

Вот функция SendStuff():

void SendStuff (Ptr<Socket> sock, Ipv4Address dstaddr, uint16_t port)
{
  uint8_t fill1[376]={...};;
  Ptr<Packet> p = Create<Packet> (fill1, 376);
  sock->SendTo (p, 0, InetSocketAddress (dstaddr,port));
  unsigned int dest_IP;
  dest_IP = start_ip + rand()%(range+1);
  Simulator::Schedule (Seconds(scan_interval), &SendStuff, sock, Ipv4Address(dest_IP), port);
  return;
}

И когда мы получаем пакет, мы вызываем эту функцию и постоянно отправляем пакеты:

Simulator::Schedule (Seconds(scan_interval), &SendStuff, socket, Ipv4Address(dest_IP), scan_port);

PS: при увеличении scan_interval рост памяти замедлится.Когда мы расширим размер сетевого узла (диапазон dest_IP будет больше).Рост памяти будет быстрее ...

Спасибо!

...