我在至少有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