Momenteel heb ik het volgende scriptje:
Dit scriptje geeft het geheugen in MB weer, en het aantal slots waar het in zit.
Het werkt verder prima op fysieke machines. Echter wil ik dit ook toepassen op virtuele machines.
Ik heb een server draaien met Virtual server 2005. Daar heb ik virtual machines op draaien waaraan ik 512MB heb toegekend.
Het vreemde is, dat het script wat op fysieke machines de juiste waarde laat zien, het totaal niet klopt op een virtuele machine.
Als ik het script draai op een virtuele machine met 512MB, dan krijg ik terug 64MB in 4 slots (16MB per slot)
Nou lijkt het, dat het geheugen anders wordt neergezet op een virtuele machine, in vergelijking met een fysieke machine. Waardoor het misschien niet mogelijk is om het geheugen op een normale manier uit te lezen? (alhoewel de taskmanger op een virtuele machine wel gewoon 512MB weergeeft)
Heeft iemand een idee, of het geheugen op een virtuele machine op een andere manier moet worden uitgelezen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Dim amount, slot, total
amount = 0
total = 0
slot = 0
Set ow = GetObject("winmgmts:\\.\root\cimv2")
Set S = ow.ExecQuery ("Select * from Win32_PhysicalMemory")
For Each obj In S
slot = slot + 1
amount = amount + obj.Capacity
Set S = Nothing
Set ow = Nothing
Next
total = amount / 1048576
Wscript.echo "Memory: " &total &" MB in " &slot &" slots" &vbnewline |
Dit scriptje geeft het geheugen in MB weer, en het aantal slots waar het in zit.
Het werkt verder prima op fysieke machines. Echter wil ik dit ook toepassen op virtuele machines.
Ik heb een server draaien met Virtual server 2005. Daar heb ik virtual machines op draaien waaraan ik 512MB heb toegekend.
Het vreemde is, dat het script wat op fysieke machines de juiste waarde laat zien, het totaal niet klopt op een virtuele machine.
Als ik het script draai op een virtuele machine met 512MB, dan krijg ik terug 64MB in 4 slots (16MB per slot)
Nou lijkt het, dat het geheugen anders wordt neergezet op een virtuele machine, in vergelijking met een fysieke machine. Waardoor het misschien niet mogelijk is om het geheugen op een normale manier uit te lezen? (alhoewel de taskmanger op een virtuele machine wel gewoon 512MB weergeeft)
Heeft iemand een idee, of het geheugen op een virtuele machine op een andere manier moet worden uitgelezen?