问题描述
我为一些实验创建了一个网络,使用 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 (将#修改为@)