2C - CacheMemory: MaxCacheSize, NumberOfBlocks; PhysicalMemory Manufacturer, Speed, Capacity?

+2 votes
asked Apr 13, 2014 in IRF tantárgy by Karoly (30 points)  

2C - A CacheMemory MaxCacheSize és NumberOfBlocks illetve PhysicalMemory Manufacturer, Speed és Capacity adatokat hogyan lehet megfelelően lekérdezni?

A bemeneti paraméterek közül a Details bekapcsolása esetén kell ezeket az adatokat megjelenítenem.
Ezt leszámítva a minta xml többi részét le tudom generáltatni a szkriptemmel.

A wmicimv2/Win32-CacheMemory -t használva a lekérdezésben (és szűrve a MaxCacheSize és NumberOfBlocks tulajdonságokra) 128 db választ kapok vissza. A minta xml-ben csak egy sort foglalt el ez a rész az xml-ből.

A PhysicalMemory lekérdezésére a Win32_PhysicalMemory osztályt használtam, de ez csak egy választ ad vissza és a Memory Size lekérdezéséhez ezt használtam. Erre meg is kapom a 2048 értékű végeredményt, ami a minta xml-ben is van.

https://dl.dropboxusercontent.com/u/47788456/minta.PNG

1 Answer

0 votes
answered Apr 13, 2014 by Cvikli (33 points)  

Az lehetséges, hogy 128 db cache memória van? Mert akkor egy foreach-object-tel végigfutunk az összesen és pipa nem?

commented Apr 13, 2014 by Karoly (30 points)  
Nem hiszem, hogy erről lenne szó. A minta alapján nem erre következtetnék.
Mindenesetre jól jönne egy megerősítés olyantól, aki biztos tudja.
commented Apr 13, 2014 by Cvikli (33 points)  
Valóban nem erről lehet szó(azért csak beírtam jobb ötlet híján), illetve nekem az sem tiszta, hogy physical memory-nál miért üres a Manufacturer, és a Speed érték. :S Neked az működik? Én a Win32_PhysicalMemory -ban próbálom elérni de nem jön vissza semmi.
commented Apr 13, 2014 by Karoly (30 points)  
Ugyanez a bajom a PhysicalMemory-val nekem is. Már szívok ezekkel a lekérdezésekkel egy jó ideje és nem jutottam még megoldásra.
commented Apr 13, 2014 by Cvikli (33 points)  
Én végülis azt csináltam, hogy üresen hagytam ahova nem kaptam értéket, hiszen nem adtak meg semmit. A Memory méretét amúgy én a physicalMemory-k kapacitásából próbálom megállaptítani, remélem az jó.
De most már nagyon kellene egy válasz arra hogy mit várnak el cacheMemorynál, mert google-ban sem találtam semmi hasznosat. o.O
commented Apr 13, 2014 by abarta (78 points)  
A cache lekérdezéséhez a CacheMemory-t kell használni, itt érdemes megnézni, hogy az asszociációt jól használod-e. Az nem baj, hogy ha 1-nél több cache-t találsz. A kiadott Windows Server-nél például ez pontosan 2 darab. (A 128 valószínűleg kicsit sok lesz, itt figyelni kell arra, hogy csak a CPU-hoz tartozóakat kell lekérni)
A PhysicalMemory-nél mivel virtuális gépet használtok ezért nem lesz gyártó és sebesség sem, ez nem baj, csak valamilyen módon kezeljétek le ezt a helyzetet, pl. a gyártóhoz beírod hogy nem specifikált vagy üresen hagyod, stb... ez nincs konkrétan megkötve.
commented Apr 13, 2014 by vnoemi (25 points)  
Én akárhogy is bújom az Win32_Processor és Win32_CacheMemory leírását, nem látom, hogy hogyan tudnám megállapítani, hogy az adott cache példány a CPU-hoz tartozik-e. Melyik attribútummal lehet összekötni a két típust?
commented Apr 13, 2014 by Cvikli (33 points)  
Hogyan kell akkor ezt a CacheMemory-t összekapcsolni a Processorral valaki jutott vele valamire?
commented Apr 13, 2014 by Karoly (30 points)  
31. oldalon a gyakanyagból van valami:

A meres helyére be kell írni a saját credentialt
$s = New-CimSession -Authentication Default -Credential meres -ComputerName $ip

A win32_DiskDrive helyett a Win32_Processor-t írjátok
$d = Get-CimInstance -ClassName Win32_DiskDrive -CimSession $s

Ennek a végére pedig a Win32_CacheMemory-t.
Get-CimAssociatedInstance -InputObject $d -CimSession $s
...