我使用NS-2运行5000节点及以上的模拟。
我遇到以下错误:
“unable to alloc 32026 bytes”--许多这样的错误和“bus error”
我已经在多达500个节点上使用了我的代码,它运行得很好。现在我正在模拟大型网络。以前有人遇到过这个错误吗?
发布于 2011-11-18 10:40:31
你的记忆快没了。这样一个小的分配就可以得到这个消息,这意味着您的内存已经用完了;解决这个问题并不容易。
一种可能导致这种情况的可能性是一次在同一个系统上运行过多的其他程序,另一种可能是内存泄漏。虽然Tcl本身被仔细审核以防止内存泄漏,但我不能谈论NS2,而且您的脚本本身可能会通过将引用保留在比它们应该的时间更长的时间来造成“泄漏”。解决这个问题需要大量的工作。
当然,你可以采用老式的“用更多的硬件解决问题”的方法。获取一个64位的Tcl和NS2构建,并在一个有16 on内存的系统上运行它。这个选项比以前便宜得多,因为64位硬件正在成为主流(终于!)但这不是免费的…
https://stackoverflow.com/questions/8177197
复制相似问题