Я пытаюсь получить счетчик производительности с компьютера, и до сих пор я использовал Get-Counter
, но некоторое время копался в MSDN и узнал, что WMI Object
Win32_processor
имеет свойство LoadPercentage
. Но после обмана я заметил, что он показывает только значение нагрузки для CPU0
(1 из 2 ядер). Итак, можно ли получить LoadPercentage
из других ядер?Win32_processor показывает только CPU0
ответ
Имя CPU0
, что вы видите, это Referance к процессор имя/номер не ядро имя/номер.
LoadPercentage
свойства является общей мощностью нагрузки каждого процессора (CPU), то есть сумма всех ядер усредненных до последней секунды (Ref).
Так, чтобы ответить на ваш вопрос, вы не будете иметь возможность получить индивидуальные ядра нагрузочная образуют Win32_processor
WMI
объект, так как LoadPercentage
уже в среднем все сердечников нагрузки в результате свойства.
Как вы заявили, вы можете использовать Get-Counter
получить эту информацию:
Get-Counter '\Processor(*)\% Processor Time' | select -ExpandProperty CounterSamples
Результат:
Path InstanceName CookedValue
---- ------------ -----------
\\fpw10rjol1\processor(0)\% processor time 0 40.0035384989971
\\fpw10rjol1\processor(1)\% processor time 1 27.6965720372529
\\fpw10rjol1\processor(2)\% processor time 2 23.0814596140988
\\fpw10rjol1\processor(3)\% processor time 3 9.23612234463661
\\fpw10rjol1\processor(_total)\% processor time _total 25.0044182009598
Я использую 'CPUSTRES.EXE' [от здесь] (https://blogs.msdn.microsoft.com/vijaysk/2012/10/26/tools-to-simulate-cpu-memory-disk-load/) для имитации загрузки процессора. После применения максимальной нагрузки только то, что я считаю «CPU0», '(Get-WmiObject win32_processor -computer $ desktop) .LoadPercentage' возвращает более 90%. При применении максимальной нагрузки только к другому _core_ он возвращается ниже 5%. Для информации, я делаю это на виртуальной машине. – Syphirint
- 1. Win32_Processor из памяти
- 2. WIN32_Processor :: Is ProcessorId Unique для всех компьютеров
- 3. Доступ к win32_processor propertry «Семья» Dictionarie
- 4. preg_match для MgmtEth0 \/RSP1 \/CPU0 \/0/
- 5. Показывает только 10 строк?
- 6. Изображение показывает только иногда
- 7. WindowManager только показывает фон
- 8. Элемент показывает только иногда
- 9. TimeSpan Показывает только часы?
- 10. JPS показывает только JPS
- 11. Emacs ElScreen показывает только
- 12. Терминал показывает только $
- 13. Что именно $ (Get-WmiObject win32_processor | select LoadPercentage) возвращается?
- 14. Итерация «Win32_Processor» для поиска нескольких процессоров? Так ли это работает?
- 15. CodeIgniter, только запрос показывает только 1 запись
- 16. Запись cpu0/cpufreq/cpuinfo_min_freq: open failed: EACCES (Permission denied)
- 17. Android map только показывает плитки
- 18. Configuration Manager показывает только Debug
- 19. ListView показывает только первый элемент
- 20. Bootstrap показывает только мобильное меню
- 21. JcomboBox показывает только один элемент
- 22. UITableViewController показывает только горизонтальные линии
- 23. Nemiver показывает только код ASM
- 24. Показывает только интервал AngularJs {{name}}
- 25. ListFragment показывает только первый элемент
- 26. Хотя показывает только один результат
- 27. Петля показывает только последний элемент
- 28. Bootstrap modal только показывает фон
- 29. IOS7 UIButton только показывает текст
- 30. overridePendingTransition показывает только анимацию ввода.
Попробуйте 'Get-WmiObject Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors | fl': 1 процессор, несколько ядер, но 1 значение LoadPercentage. Не уверен, что этот класс может дать вам то, что вы хотите. – sodawillow
См. Этот вопрос: http://stackoverflow.com/questions/38384658/get-cpu-usage-for-each-core-using-the-windows-command-line – sodawillow