2016-07-15 2 views
0

Veins 에를란겐 예제에서 1000 대의 차량을 시뮬레이션하려고했습니다. 그러나 시뮬레이터는 항상 약 700 대의 차량을 멈추고 오류 메시지를 표시합니다. 나는 500 대의 차량을 시뮬레이션 할 수있다. 왜 1000 대의 차량을 시뮬레이트 할 수 없습니까?veins/omnet에서 1000 대의 차량을 시뮬레이트하는 방법은 무엇입니까?

RUNTIME ERROR. cRuntimeError 예외가 throw 될 예정이며 (디버그에서 on-errors = true를 설정하여) 오류가 실행을 중단하고 디버거를 중단하도록 요청했습니다.

이제 시뮬레이션을 gdb 또는 다른 디버거에서 실행해야합니다. 시뮬레이션 커널은 SIGABRT 신호를 발생시켜 이 디버거로 들어갑니다. 디버거에서 실행하지 않는 경우 사후 디버깅을 위해 코어 덤프를 계속 사용할 수 있습니다. 디버거에서 호출 스택 (gdb : "bt"명령에서)을 으로보고 런타임 오류의 컨텍스트를 확인합니다. 표준 : bad_alloc 뿐이다 : STD :: bad_alloc 뿐이다 이벤트 # 21128에서 모듈

오류 (정맥 :: TraCIScenarioManagerLaunchd) RSUExampleScenario.manager (식 6) t는 2112.7를 =.

enter image description here

<pre> 
[General] 
cmdenv-express-mode = true 
cmdenv-autoflush = true 
cmdenv-status-frequency = 10000000s 

#tkenv-default-config = debug 
#tkenv-default-run = 1 
ned-path = . 

network = RSUExampleScenario 

########################################################## 
#   Simulation parameters      # 
########################################################## 
debug-on-errors = true 
print-undisposed = false 

#sim-time-limit = 6000s 
sim-time-limit = 8000s 

**.scalar-recording = true 
**.vector-recording = true 

**.debug = false 
**.coreDebug = false 

*.playgroundSizeX = 2500m 
*.playgroundSizeY = 2500m 
*.playgroundSizeZ = 50m 
#*.playgroundSizeX = 7500m #ME ADDED 
#*.playgroundSizeY = 7500m #ME ADDED 
#*.playgroundSizeZ = 500m #ME ADDED 


########################################################## 
# Annotation parameters         # 
########################################################## 
*.annotations.draw = false 

########################################################## 
# Obstacle parameters         # 
########################################################## 
*.obstacles.debug = false 
*.obstacles.obstacles = xmldoc("config.xml", "//AnalogueModel[@type='SimpleObstacleShadowing']/obstacles") 

########################################################## 
#   WorldUtility parameters      # 
########################################################## 
*.world.useTorus = false 
*.world.use2D = false 

########################################################## 
#   TraCIScenarioManager parameters    # 
########################################################## 
*.manager.updateInterval = 0.1s 
*.manager.host = "localhost" 
*.manager.port = 9999 
*.manager.moduleType = "org.car2x.veins.nodes.Car" 
*.manager.moduleName = "node" 
*.manager.moduleDisplayString = "" 
*.manager.autoShutdown = true 
*.manager.margin = 25 
*.manager.launchConfig = xmldoc("erlangen.launchd.xml") 

########################################################## 
#      RSU SETTINGS      # 
#              # 
#              # 
########################################################## 
*.rsu[0].mobility.x = 2000 
*.rsu[0].mobility.y = 2000 
*.rsu[0].mobility.z = 3 
*.rsu[*].applType = "TraCIDemoRSU11p" 
*.rsu[*].appl.debug = false 
*.rsu[*].appl.headerLength = 256 bit 
*.rsu[*].appl.sendBeacons = false 
*.rsu[*].appl.dataOnSch = false 
*.rsu[*].appl.sendData = true 
*.rsu[*].appl.beaconInterval = 1s 
*.rsu[*].appl.beaconPriority = 3 
*.rsu[*].appl.dataPriority = 2 
*.rsu[*].appl.maxOffset = 0.005s 


########################################################## 
#   11p specific parameters      # 
#               
# NIC-Settings      # 
########################################################## 
*.connectionManager.pMax = 20mW 
*.connectionManager.sat = -89dBm 
*.connectionManager.alpha = 2.0 
*.connectionManager.carrierFrequency = 5.890e9 Hz 
*.connectionManager.sendDirect = true 

*.**.nic.mac1609_4.useServiceChannel = false 

*.**.nic.mac1609_4.txPower = 20mW 
*.**.nic.mac1609_4.bitrate = 18Mbps 

*.**.nic.phy80211p.sensitivity = -89dBm 
*.**.nic.phy80211p.useThermalNoise = true 
*.**.nic.phy80211p.thermalNoise = -110dBm 
*.**.nic.phy80211p.decider = xmldoc("config.xml") 
*.**.nic.phy80211p.analogueModels = xmldoc("config.xml") 
*.**.nic.phy80211p.usePropagationDelay = true 

########################################################## 
#     WaveAppLayer      # 
########################################################## 
*.node[*].applType = "TraCIDemo11p" 
*.node[*].appl.debug = false 
*.node[*].appl.headerLength = 256 bit 
*.node[*].appl.sendBeacons = false 
*.node[*].appl.dataOnSch = false 
*.node[*].appl.sendData = true 
*.node[*].appl.beaconInterval = 1s 
*.node[*].appl.beaconPriority = 3 
*.node[*].appl.dataPriority = 2 
*.node[*].appl.maxOffset = 0.005s 

########################################################## 
#      Mobility       # 
########################################################## 
*.node[*].veinsmobilityType =  "org.car2x.veins.modules.mobility.traci.TraCIMobility" 
*.node[*].mobilityType = "TraCIMobility" 
*.node[*].mobilityType.debug = true 
*.node[*].veinsmobilityType.debug = true 
*.node[*].veinsmobility.x = 0 
*.node[*].veinsmobility.y = 0 
*.node[*].veinsmobility.z = 1.895 
#*.node[*0].veinsmobility.accidentCount = 0 
#*.node[*0].veinsmobility.accidentStart = 75s 
#*.node[*0].veinsmobility.accidentDuration = 30s 
*.node[5].veinsmobility.accidentCount = 0 
*.node[5].veinsmobility.accidentStart = 15s 
*.node[5].veinsmobility.accidentDuration = 35s 
*.node[10].veinsmobility.accidentCount = 0 
*.node[10].veinsmobility.accidentStart = 35s 
*.node[10].veinsmobility.accidentDuration = 35s 

[Config nodebug] 
description = "default settings" 
**.debug = false 
**.coreDebug = false 
*.annotations.draw = false 

[Config debug] 
description = "(very slow!) draw and print additional debug information" 
**.debug = true 
**.coreDebug = true 
*.annotations.draw = true 

</pre> 
+0

다행히 SO는 텔레 패스로 가득차 있으며 마음을 읽을 수 있습니다. 코드는 무엇입니까? 이 오류 메시지는 5 줄을 더 쓸 필요없이 대답 할 수 있습니다. – peterh

+0

Btw, 철자를 수정하여 질문을 저장하려고했지만 다음에 운이 좋지 않을 것이며 질문이 단순히 닫힙니다. 가장 흔하고 가장 짜증나는 맞춤법 오류가 무엇인지 잘 모르는 경우 [여기] (http://meta.stackoverflow.com/questions/291362/advice-for-non-native-english-speakers/291370#291370) 당신을위한 사소한 체크리스트입니다. 여기에 코드를 붙여넣고 오류 메시지를 붙여넣고 빨리 처리하십시오. 그렇지 않으면 질문이 닫힙니다. – peterh

+0

좋아요, 오류 메시지를 가능한 빨리 업로드하겠습니다. 많은 감사합니다 – Ezey

답변

1

당신이 메모리가 부족 보인다. 봉투 뒤에서 계산할 때, Veins는 각 차량을 시뮬레이트하기 위해 약 400KB의 메모리가 필요합니다. 즉, 1000 대의 차량을 시뮬 레이 션하려면 400MB의 메모리가 필요합니다. 그래픽 사용자 인터페이스를 실행하는 경우에는 훨씬 더 많습니다.

그런 다음 질문에 대한 두 가지 답변을 얻을 수 있습니다. 먼저 시뮬레이션을 명령 줄 모드로 실행하십시오 (그 방법은 사용 설명서 참조). 둘째, 메인 메모리를 최소 0.4GB 이상 확보하십시오.

+0

Dr Chris, 많은 감사합니다. – Ezey

0

나는 더 많은 차량을 시뮬레이트하기 위해지도를 생성하고 작동하면 명령의 종료 시간을 늘리는 데 사용됩니다. f.g. python c : \ sumo \ sumo25 \ tools \ randomTrips.py -n map.net.xml -e 200 -l