运行 3 秒后,Omnet 内存不足?

问题描述

我为一些实验创建了一个网络,使用 64 台主机并通过 48 台主机发送流量,运行 3 秒后它消耗了所有内存并启动 kswapd0 进程,然后模拟变得非常慢。任何人都可以帮助解决这个问题吗?

我尝试使用 valgrind 调试内存泄漏,它在下面的代码显示问题。

注意:我在循环结束后删除数据包。

我在配置中尝试了不同的数据包大小,但问题与数据包大小无关,所以我专注于标头,它与 valgrind 结果相匹配。

第二行带有“auto”关键字。

if (vlanTag) {
    auto vlanHeader = new inet::Ieee8021qHeader();
    vlanHeader->setPcp(vlanTag->getPcp());
    vlanHeader->setDe(vlanTag->getDe());
    vlanHeader->setVid(vlanTag->getVID());
    ethernetMacHeader->setSTag(vlanHeader);
    delete packet->removeTagIfPresent<VLANTagReq>();
    EV_INFO << getFullPath() << ":Encapsulating higher layer packet `"
                   << packet->getName() << "' into VLAN tag" << endl;
    totalEncap++;
    emit(encapPkSignal,packet);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)