CPU Sockets versus CPU Cores
-
Thursday, March 12, 2009 6:15 PMCurrently SCCM reports the processor count based on the number of cores found.
Some software products (like SQL) are licensed based on the physical CPU sockets in a system.
Is there a way to show the physical CPU sockets per computer using AI or standard SCCM reports?
Answers
-
Wednesday, May 20, 2009 1:14 AMModerator
Try this: http://myitforum.com/cs2/blogs/skissinger/archive/2009/05/19/numberofcores-mof-edit.aspx
Standardize. Simplify. Automate.- Marked As Answer by Sherry KissingerMVP, Moderator Tuesday, June 16, 2009 11:50 AM
All Replies
-
Monday, March 23, 2009 11:35 PMOwnerHow about looking at Win32_Processor? I just checked multiple systems, and if your box has multiple physical procs, it will have multiple DeviceID values.
If it just has multiple cores, it will only have one DeviceID, but will list the number of cores (NumberOfCores) and logical procs (NumberOfLogicalProcessors).
It doesn't look like these are enabled in the sms_def.mof (though DeviceID is) so you'd need to enable them if you want the core information.
Wally Mead -
Monday, April 20, 2009 7:44 PMOwnerDid this help Adrian?
Wally Mead -
Thursday, May 14, 2009 6:37 PMThe NumberOfCores and NumberOfLogicalProcessors properties are not in the sms_def.mof. I added them to the Processor class in sms_def.mof on a test SCCM server (after the MaxClockSpeed property): [SMS_Report (TRUE) ] string NumberOfCores; [SMS_Report (TRUE) ] string NumberOfLogicalProcessors; The InventoryAgent log on a test client reported an error: Component: InventoryAgent Thread: 2452(0x994) Source: collectiontask.cpp:347 Collection: Namespace = \\.\root\cimv2\sms; Query = SELECT __CLASS, __PATH, __RELPATH, AddressWidth, BrandID, CPUHash, CPUKey, DataWidth, DeviceID, Family, Is64Bit, IsMobile, IsMulticore, Manufacturer, MaxClockSpeed, Name, NormSpeed, PCache, ProcessorId, ProcessorType, Revision, SocketDesignation, Status, SystemName, Version, NumberOfLogicalProcessors, NumberOfCores FROM SMS_Processor; Timeout = 600 secs. Component: InventoryAgent Thread: 2452(0x994) Source: collectiontask.cpp:578 Unknown error encountered processing an instance of class SMS_Processor: 80041017 No data collection on SMS_Processor was done. The version of the ConfirMgr Inventory Agent is 4.0.6221.1000. The client is running W2k3 with SP2 with Hotfix 932370. Thanks in advance for the fix!
-
Friday, May 15, 2009 12:42 AMModeratorRemove the edits you did for "NumberOfLogicalProcessors" and "numberofcores", since it's giving you an error.
Once you've fixed that and re-run inventory.... I see in the default sms_processor there is "IsMultiCore" (it's not alphabetically listed, it's at the bottom). Does that at least report a True (or a 1 or whatever means "yes") on a multicore box?
Other ones you might want to turn on just to see what you get back: "IsHyperThreadCapable" and "IsHyperThreadEnabled".
Also check win32_computersystem, "NumberofProcessors".
Standardize. Simplify. Automate. -
Tuesday, May 19, 2009 6:55 PMAfter removing "NumberOfCores" and NumberOfLogicalProcessors", the processor inventory works again. IsMulticore has a "1". Enabling the 2 "IsHyperThread..." properties show "0" values. Win32_Computersystem.NumberOfProcessors = 1.
-
Wednesday, May 20, 2009 1:14 AMModerator
Try this: http://myitforum.com/cs2/blogs/skissinger/archive/2009/05/19/numberofcores-mof-edit.aspx
Standardize. Simplify. Automate.- Marked As Answer by Sherry KissingerMVP, Moderator Tuesday, June 16, 2009 11:50 AM
-
Wednesday, June 10, 2009 12:39 AMModeratorsteph4002, did that work? This will be marked as answered in a few weeks if no response.
Standardize. Simplify. Automate. -
Wednesday, November 04, 2009 12:56 AM
Hi Adrian, I was able to determine the number of physical CPU's by analysing the data of our enviroment.Basically from the v_GS_Processor table;1) Filter the records that have the [ProcessorId0] with zeros2) Group by SocketDesignator0Here is the SQL statement;SELECT CPUList.ResourceID, LTRIM(Name0) AS CPU, COUNT(CPUList.ResourceID) AS CPU_CountFROM (SELECT DISTINCT ResourceID, Name0, SocketDesignation0FROM dbo.v_GS_PROCESSOR WHERE [ProcessorId0] NOT LIKE '%000000') AS CPUListGROUP BY CPUList.ResourceID, LTRIM(Name0)Output looks like;ResourceID CPU CPU_Count------------- ----------------------------- -----------2645 Intel(R) Xeon(R) CPU L5410 @ 2.33GHz 12225 Intel(R) Xeon(TM) CPU 1.40GHz 21743 Intel(R) XEON(TM) CPU 1.80GHz 1Is not the cleanest way, but it did the job for me. (easier for me than applying the patch on 50 servers)Tirzo- Proposed As Answer by Tirzo Wednesday, November 04, 2009 12:59 AM

