如何解决运行 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 举报,一经查实,本站将立刻删除。