我在至少有27GB内存的服务器上运行模拟。 我的程序的功能是将数据包连续插入队列中,每隔一段时间都会进入队列。程序被错误停止,当它的内存占用2GB时,通过观察服务器的任务管理器。因此,有是几个问题我会问:OMNeT ++的一个程序的内存是否只能使用2GB?
如何2GB的值设置为较大的一个,而我在服务器足够的内存?
一个数据包会占用多少字节并保存在队列中,以记录其信息?
- 我认为对于模拟器来说,一个数据包(cPacket)会带来很多信息,并且使存储容易,甚至大部分信息都不会被使用。所以,如果我想生成一个数据包,只需带上我需要的信息,我该怎么办,而不使用cPacket?
- 我对sizeof(队列)进行了编码,值总是4,不管是插入还是插入数据包,为什么?有没有其他的词来看看一个队列有多少内存使用?
其它信息: 1.当我运行2个节目parellelly,总内存可能大于2GB,而且也没有错误,如果一个程序使用小于2GB。
非常感谢!
StackOverflow的目标是收集问题和(良好)答案的存储库。问多个问题很难确定哪个答案是好的。 –
作为进一步的评论,您是否检查是否遇到任何[由Microsoft Windows施加的内存限制](https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs。 85%29.aspx)? –
正如克里斯托夫所说:请仅在SO上使用一个很好制定的问题(即请编辑您的问题并删除问题2,3,4)。 – Rudi