Как определить на каком ядре запущен поток windows

Using Sysinternals' Process Explorer, is there a column that can be used to indicate which CPU a process is running on? If no column, is there some other way?

Requested in 2005:

I am very impressed with the features integrated in Process Explorer but would like to see an option to display each process CPU affinity in the main window as a column toggle.

No response.

Requested in 2007:

Thanks for superb utilities. My request is to add a column option to process explorer to display CPU affinity. That’s it.

No response.

Similar discussed in 2013:

It would be really nice if there were a new Process Performance View Column called Core Usage that would show a sum of the usage over the core that the process is running on.

Basic synopsis: It can’t be done.

Threads are what are sent to cores for processing, not processes. Most modern processes have multiple threads.

If you manually set the affinity for a process, then all threads for the process should stick to a single processor. Since you manually set it, you should know which CPU it’s on. ;)

But if you don’t specify, then the thread(s) will be controlled by the OS and underlying processing hardware, and would jump around between processors at a speed that would be unwatchable, and very likely inaccurate by the time it was displayed to you.

Perhaps check out these SU question for more:

  • How does a process «pick» which core to run on?
  • What are threads, and what do they do in the processor?

Also, from StackOverflow:

  • What is the difference between a process and a thread?

Now if you wrote the program, you could use the GetCurrentProcessorNumber, which reports the current processor in use by the thread from which the function was called.

Using this will allow you to make estimations about processor usage by your threads, as you can never be sure where the threads will be one cycle to the next (again, unless you set the affinity on purpose).

More info:

  • Determine on which physical processor my code is currently running
  • Identify processor (core) is used by specific thread

Requested in 2005:

I am very impressed with the features integrated in Process Explorer but would like to see an option to display each process CPU affinity in the main window as a column toggle.

No response.

Requested in 2007:

Thanks for superb utilities. My request is to add a column option to process explorer to display CPU affinity. That’s it.

No response.

Similar discussed in 2013:

It would be really nice if there were a new Process Performance View Column called Core Usage that would show a sum of the usage over the core that the process is running on.

Basic synopsis: It can’t be done.

Threads are what are sent to cores for processing, not processes. Most modern processes have multiple threads.

If you manually set the affinity for a process, then all threads for the process should stick to a single processor. Since you manually set it, you should know which CPU it’s on. ;)

But if you don’t specify, then the thread(s) will be controlled by the OS and underlying processing hardware, and would jump around between processors at a speed that would be unwatchable, and very likely inaccurate by the time it was displayed to you.

Perhaps check out these SU question for more:

  • How does a process «pick» which core to run on?
  • What are threads, and what do they do in the processor?

Also, from StackOverflow:

  • What is the difference between a process and a thread?

Now if you wrote the program, you could use the GetCurrentProcessorNumber, which reports the current processor in use by the thread from which the function was called.

Using this will allow you to make estimations about processor usage by your threads, as you can never be sure where the threads will be one cycle to the next (again, unless you set the affinity on purpose).

More info:

  • Determine on which physical processor my code is currently running
  • Identify processor (core) is used by specific thread

Запрошено в 2005 году:

Я очень впечатлен возможностями, встроенными в Process Explorer, но хотел бы видеть возможность отображать привязку ЦП каждого процесса в главном окне в виде переключателя столбца.

Нет ответа

Запрошено в 2007 году:

Спасибо за отличные утилиты. Моя просьба добавить опцию столбца в Process Explorer для отображения соответствия процессора. Вот и все.

Нет ответа

Подобное обсуждалось в 2013 году:

Было бы неплохо, если бы существовал новый столбец представления производительности процесса под названием Core Usage, который бы отображал сумму использования по ядру, на котором запущен процесс.

Основной обзор: это не может быть сделано.

Потоки — это то, что отправляется ядрам для обработки, а не процессы. Большинство современных процессов имеют несколько потоков.

Если вы вручную установите привязку к процессу, то все потоки для процесса должны привязываться к одному процессору. Поскольку вы устанавливаете его вручную, вы должны знать, на каком процессоре он работает. ;)

Но если вы не укажете, то поток (ы) будет контролироваться ОС и базовым аппаратным обеспечением и будет переключаться между процессорами со скоростью, которая будет недоступна для просмотра, и, скорее всего, будет неточной во время отображения вы.

Возможно, проверьте эти вопросы SU для получения дополнительной информации:

  • Как процесс «выбирает», какое ядро запустить?
  • Что такое потоки и что они делают в процессоре?

Также из StackOverflow:

  • В чем разница между процессом и потоком?

Теперь, если вы написали программу, вы можете использовать GetCurrentProcessorNumber, который сообщает о текущем используемом процессоре потоком, из которого была вызвана функция.

Использование этого позволит вам оценить использование процессора вашими потоками, так как вы никогда не сможете быть уверены, где потоки будут проходить один цикл за другим (опять же, если вы не установили сходство намеренно).

Больше информации:

  • Определите, на каком физическом процессоре работает мой код
  • Определить процессор (ядро) используется конкретным потоком

Как контролировать, на каком ядре выполняется процесс?



Я могу понять, как можно написать программу, которая использует несколько процессов или потоков: fork() новый процесс и использовать IPC, или создать несколько потоков и использовать такие механизмы связи.

Я понимаю, переключение контекста. То есть, только с одним процессором, операционная система планирует время для каждого процесса (и есть тонны алгоритмов планирования там), и тем самым мы достигаем запуска нескольких процессов одновременно.

и теперь, когда мы имея многоядерные процессоры (или многопроцессорные компьютеры), мы могли бы иметь два процесса, работающих одновременно на двух отдельных ядрах.

мой вопрос касается последнего сценария: как ядро контролирует, на каком ядре выполняется процесс? Какие системные вызовы (в Linux или даже Windows) планируют процесс на определенном ядре?

причина, по которой я спрашиваю: я работаю над проектом для школы, где мы должны изучить недавнюю тему в области вычислений — и я выбрал многоядерный зодчие. Кажется, есть много материала о том, как программировать в такой среде (как следить за тупиковыми или гоночными условиями), но не так много о контроле самих отдельных ядер. Я хотел бы иметь возможность написать несколько демонстрационных программ и представить некоторые инструкции по сборке или код C для эффекта «Смотрите, я запускаю бесконечный цикл на 2-м ядре, посмотрите на всплеск загрузки процессора для это конкретное ядро«.

любой код примеры? Или учебники?

edit: для уточнения-многие люди сказали, что это цель ОС, и что нужно позволить ОС позаботиться об этом. Я полностью согласен! Но тогда я спрашиваю (или пытаюсь почувствовать), что на самом деле делает операционная система для этого. Не алгоритм планирования, а больше «после того, как ядро выбрано, какие инструкции должны быть выполнены, чтобы это ядро начало получать инструкции?»


643  


9  

9 ответов:

Как уже упоминалось, сродство процессора операционная система специфических. Если вы хотите сделать это за пределами операционной системы, вам будет очень весело, и под этим я подразумеваю боль.

тем не менее, другие упоминали SetProcessAffinityMask для Win32. Никто не упомянул способ ядра Linux установить сродство процессора, и поэтому я буду. Вы должны использовать

Обычно решение о том, на каком ядре будет работать приложение, принимается системой. Тем не менее, вы можете установить «сродство» для приложения к определенному ядру, чтобы сообщить ОС только запустить приложение на этом ядре. Обычно это не очень хорошая идея, но есть некоторые редкие случаи, где это может иметь смысл.

чтобы сделать это в windows, используйте диспетчер задач, щелкните правой кнопкой мыши на процессе и выберите «Установить сходство». Вы можете сделать это программно в Windows, используя такие функции, как SetThreadAffinityMask, SetProcessAffinityMask или SetThreadIdealProcessor.

ETA:

Если вы заинтересованы в том, как ОС на самом деле выполняет планирование, вы можете проверить эти ссылки:

статья в Википедии о переключении контекста

статья Википедии о планировании

планирование в ядре linux

с большинством современных ОС, ОС планирует поток выполните на ядре за короткий отрезок времени. Когда временной срез истекает, или поток выполняет операцию ввода-вывода, которая заставляет его добровольно уступить ядро, ОС запланирует запуск другого потока на ядре (если есть какие-либо потоки, готовые к запуску). Какой именно поток запланирован зависит от алгоритма планирования ОС.

детали реализации точно, как происходит переключение контекста, зависят от процессора и ОС. Как правило, это будет включать в себя переход в режим ядра, ОС сохранение состояния предыдущего потока, загрузка состояния нового потока, затем переключение обратно в пользовательский режим и возобновление вновь загруженного потока. Переключение контекста статьи я ссылался выше более подробно об этом.

ничто не говорит ядру «теперь начните запускать этот процесс».

базовый не вижу процесс, он знает только о исполняемом коде и различных уровнях выполнения и связанных с ними ограничениях на инструкции, которые могут быть выполнены.

При загрузке компьютера, для простоты только одно ядро/процессор активен и фактически выполняет код. Затем, если ОС поддерживает Многопроцессорность, она активирует другие ядра с некоторой системной инструкцией, другие ядра больше всего скорее всего, забрать из точно такого же места, как и другие ядра и бежать оттуда.

Итак, что делает планировщик, он просматривает внутренние структуры ОС (очередь задач/процессов/потоков) и выбирает один и помечает его как работающий в своем ядре. Затем другие экземпляры планировщика, работающие на других ядрах, не будут касаться его, пока задача снова не будет находиться в состоянии ожидания (и не будет отмечена как прикрепленная к определенному ядру). После того, как задача помечена как запущенная, планировщик Выполняет переключение на userland с возобновлением задачи в точке, где она была ранее отстранен.

технически ничто не мешает ядрам запускать точно такой же код в одно и то же время (и многие разблокированные функции делают это), но если код не написан, чтобы ожидать этого, он, вероятно, будет мочиться на себя.

сценарий становится более странным с более экзотическими моделями памяти (выше предполагается «обычное» линейное единое рабочее пространство памяти), где ядра не обязательно все видят одну и ту же память, и могут быть требования по извлечению кода из других сцепления ядра, но это намного проще, просто удерживая задачу, прикрепленную к ядру (архитектура AFAIK Sony PS3 с SPU-это так).

The OpenMPI есть библиотека для установки сродства процессора on Linux в портативном пути.

некоторое время назад, я использовал это в проекте и все работало нормально.

предостережение: я смутно помню, что были некоторые проблемы в выяснении того, как операционная система нумерует ядра. Я использовал это в 2-х процессорной системе Xeon с 4 ядрами каждый.

посмотреть cat /proc/cpuinfo может помочь. На коробке я используется, это довольно странно. Вываренный выход находится в конце.

из-за этой странности (1,5 года назад я не мог найти никакой документации по нумерации процессов в Linux), я был бы осторожен, чтобы сделать такую настройку низкого уровня. Тем не менее, очевидно, что есть некоторые применения. Если ваш код работает на нескольких типах машин, то это может быть стоит сделать этот вид настройки. Другое приложение будет на каком-то конкретном языке домена, например StreamIt где компилятор может делать эту грязную работу и вычислить умный график.

processor       : 0
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4

processor       : 1
physical id     : 1
siblings        : 4
core id         : 0
cpu cores       : 4

processor       : 2
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 4

processor       : 3
physical id     : 1
siblings        : 4
core id         : 1
cpu cores       : 4

processor       : 4
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4

processor       : 5
physical id     : 1
siblings        : 4
core id         : 2
cpu cores       : 4

processor       : 6
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4

processor       : 7
physical id     : 1
siblings        : 4
core id         : 3
cpu cores       : 4

чтобы узнать количество процессоров вместо использования /proc / cpuinfo просто запустите:

nproc

для запуска процесса на группе конкретных процессоров:

taskset --cpu-list 1,2 my_command 

скажет, что моя команда может работать только на cpu 1 или 2.

чтобы запустить программу на 4 процессорах, выполняющих 4 разных действия, используйте параметризацию. Аргумент к программе говорит ему сделать что-то другое:

for i in `seq 0 1 3`;
do 
  taskset --cpu-list $i my_command $i;
done

хороший пример этого имеет дело с 8 миллионов операций в массив таким образом, что от 0 до (2mil-1) идет к процессору 1, от 2mil до (4mil-1) к процессору 2 и так далее.

вы можете посмотреть на нагрузку на каждый процесс, установив htop с помощью apt-get/yum и запустив в командной строке:

 htop

Как уже упоминалось, он управляется операционной системой. В зависимости от ос, он может или не может предоставить вам системные вызовы, которые позволяют вам влиять на то, на каком ядре выполняется данный процесс. Однако обычно вы должны просто позволить ОС выполнять поведение по умолчанию. Если у вас есть 4-ядерная система с 37 запущенными процессами, и 34 из этих процессов спят, она будет планировать оставшиеся 3 активных процесса на отдельные ядра.

вы, вероятно, увидите только повышение скорости при игре с основными сродствами в очень специализированных многопоточных приложениях. Например, предположим, что у вас есть система с 2 двухъядерными процессорами. Предположим, у вас есть приложение с 3 потоками, и два из них работают в основном на одном и том же наборе данных, тогда как третий поток использует другой набор данных. В этом случае вы выиграете больше всего, имея два потока, которые взаимодействуют на одном процессоре и третий поток на другом процессоре, так как тогда они могут общий доступ к кэшу. ОС понятия не имеет, к какой памяти должен обращаться каждый поток, поэтому она может не выделять потоки ядрам соответствующим образом.

Если вы заинтересованы в как операционная система, читайте на планирование. Мелкие детали многопроцессорной обработки на x86 можно найти в руководства для разработчиков программного обеспечения Intel 64 и IA-32 Architectures. Том 3A, Главы 7 и 8 содержат соответствующую информацию, но имейте в виду, что эти руководства являются чрезвычайно технически.

ОС знает, как это сделать, вам не нужно. Вы можете столкнуться со всевозможными проблемами, если вы укажете, на каком ядре работать, некоторые из которых могут фактически замедлить процесс. Пусть ОС разберется, вам просто нужно запустить новый поток.

например, если вы сказали процессу начать на core x, но core x уже был под большой нагрузкой, вам будет хуже, чем если бы вы просто позволили ОС справиться с этим.

Я не знаю инструкции по сборке.
Но функция Windows API-это SetProcessAffinityMask.
Вы можете видеть пример что — то я собрал вместе некоторое время назад, чтобы запустить Picasa только на одном ядре

Linux sched_setaffinity C минимальный

в этом примере мы получаем сходство, изменяем его и проверяем, вступило ли оно в силу с sched_getcpu().

#define _GNU_SOURCE
#include <assert.h>
#include <sched.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void print_affinity() {
    cpu_set_t mask;
    long nproc, i;

    if (sched_getaffinity(0, sizeof(cpu_set_t), &mask) == -1) {
        perror("sched_getaffinity");
        assert(false);
    } else {
        nproc = sysconf(_SC_NPROCESSORS_ONLN);
        printf("sched_getaffinity = ");
        for (i = 0; i < nproc; i++) {
            printf("%d ", CPU_ISSET(i, &mask));
        }
        printf("n");
    }
}

int main(void) {
    cpu_set_t mask;

    print_affinity();
    printf("sched_getcpu = %dn", sched_getcpu());
    CPU_ZERO(&mask);
    CPU_SET(0, &mask);
    if (sched_setaffinity(0, sizeof(cpu_set_t), &mask) == -1) {
        perror("sched_setaffinity");
        assert(false);
    }
    print_affinity();
    /* TODO is it guaranteed to have taken effect already? Always worked on my tests. */
    printf("sched_getcpu = %dn", sched_getcpu());
    return EXIT_SUCCESS;
}

скомпилировать и запустить с:

gcc -std=c99 main.c
./a.out

пример вывода:

sched_getaffinity = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
sched_getcpu = 9
sched_getaffinity = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
sched_getcpu = 0

это означает, что:

  • первоначально все мои 16 ядер были включены, и процесс был случайным образом запущен на ядре 9 (10-й)
  • после того, как мы установили сродство только к первому ядру, процесс был перемещен обязательно к ядру 0 (первый)

это также интересно запустить эту программу через taskset:

taskset -c 1,3 ./a.out

который дает выход формы:

sched_getaffinity = 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 
sched_getcpu = 2
sched_getaffinity = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
sched_getcpu = 0

и так мы видим, что это ограниченное сродство с самого начала.

это работает, потому что сходство наследуется дочерними процессами, которые taskset рассеивания: как предотвратить наследование сходства ЦП дочерним разветвленным процесс?

протестировано в Ubuntu 16.04,GitHub вверх по течению.

x86 голый металл

если вы такой хардкор:как выглядит многоядерный язык ассемблера?

как Linux реализует его

как sched_setaffinity() работает?

  • Remove From My Forums

 none

как в коде узнать, насколько поток загружает ядро?

  • Вопрос

  • Хочу динамически изменять интервал обновления UI. Для этого надо как-то узнавать, когда объем работы по отрисовке, выполняемой потоком UI, достиг значения, при котором полностью загружается одно ядро процессора, на котором запущено приложение (ведь поток
    может выполняться только на одном ядре?). При превышении этого значения будут начинаться гарантированные зависы UI, а значит, нужно уменьшать частоту отрисовки. Таким образом получится приложение, автоматически подстраивающееся под производительность
    процессора.

Ответы

  • Можно попробовать использовать событие Application.Idle — оно происходит, когда приложение простаивает. Логично, что раз приложение бездельничает, то можно нагрузить его отрисовкой GUI.

    • Помечено в качестве ответа

      7 сентября 2011 г. 8:12

  • > … автоматически подстраивающееся под производительность процессора

    см.
    PerformanceCounter; для Processor Time см.
    пример

    • Предложено в качестве ответа
      Malobukv
      23 августа 2011 г. 9:54
    • Помечено в качестве ответа
      Qwester33
      23 августа 2011 г. 21:21

  • Я так понял, вы обновляете GUI по таймеру.

    Ну так вот, это можно сделать так: когда таймер срабатывает, вы его отключаете, обновляете GUI и после обновления запускаете таймер снова. Т.о. у вас обновления будут работать с максимально возможной скоростью на данной машине. А маленькие перерывы,
    обеспечивыемые таймером, дадут время на отработку реакции GUI на действия пользователя.

    И не нужно никакого слежения за загрузкой процессора.

    PS И еще, странный GUI у вас немного. Если GUI постоянно занимает одно ядро, это не очень нормальная ситуация. Это значит что либо он отображает слишком много информации, и юзер ее все равно не воспримет, либо он сделан очень неоптимально. И еще, подумайте,
    как ваше приложение будет работать на одноядерной машине?

    • Помечено в качестве ответа
      Qwester33
      23 августа 2011 г. 20:01

Запрошено в 2005 году :

Я очень впечатлен возможностями, встроенными в Process Explorer, но хотел бы видеть возможность отображать привязку ЦП каждого процесса в главном окне в виде переключения столбцов.

Нет ответа

Запрошено в 2007 году :

Спасибо за отличные утилиты. Моя просьба добавить опцию столбца в Process Explorer для отображения соответствия процессора. Вот и все.

Нет ответа

Подобное обсуждалось в 2013 году :

Было бы неплохо, если бы появился новый столбец представления производительности процесса под названием Core Usage, который бы отображал сумму использования по ядру, на котором запущен процесс.

Основной обзор: это не может быть сделано.

Потоки — это то, что отправляется ядрам для обработки, а не процессы. Большинство современных процессов имеют несколько потоков.

Если вы вручную устанавливаете привязку к процессу, то все потоки для процесса должны привязываться к одному процессору. Поскольку вы устанавливаете его вручную, вы должны знать, на каком процессоре он работает. ;)

Но если вы не укажете, то поток (ы) будет контролироваться ОС и базовым аппаратным обеспечением и будет переключаться между процессорами со скоростью, которая будет недоступна для просмотра, и, скорее всего, будет неточной во время отображения вы.

Возможно, проверьте эти SU вопрос больше:

  • Как процесс «выбирает», какое ядро ​​запустить?
  • Что такое потоки и что они делают в процессоре?

Также из StackOverflow:

  • В чем разница между процессом и потоком?

Теперь, если вы написали программу, вы можете использовать GetCurrentProcessorNumber , который сообщает о текущем используемом процессоре потоком, из которого была вызвана функция.

Использование этого позволит вам оценить использование процессора вашими потоками, так как вы никогда не сможете быть уверены, где потоки будут проходить один цикл за другим (опять же, если вы не установили сходство намеренно).

Больше информации:

  • Определите, на каком физическом процессоре работает мой код
  • Определить процессор (ядро) используется конкретным потоком

Я хотел бы знать, можно ли определить физический процессор (ядро), используемый потоком, с помощью определенного thread-id?

Например, у меня есть многопоточное приложение с двумя (2) потоками (например, thread-id = 10 и thread-id = 20). Я запускаю приложение в системе с двухъядерным процессором (ядро 1 и ядро ​​2). Итак, как мне получить номер ядра, используемый потоком с thread-id = 20?

P.S. Платформы Windows.

Спасибо,

Денис.

2 ответа

Лучший ответ

Если вы не используете привязку потоков, потоки не назначаются конкретным ядрам. С каждым временным срезом поток может выполняться на разных ядрах. Это означает, что если существует функция для получения ядра потока, то к тому времени, когда вы получите возвращаемое значение, существует большая вероятность того, что поток уже выполняется на другом ядре.

Если вы используете привязку потоков, вы можете взглянуть на функции привязки потоков Windows (http://msdn.microsoft.com/en-us/library/ms684847%28v=VS.85%29.aspx).


7

Patrick
30 Июл 2010 в 01:23

Существуют функции, называемые GetCurrentProcessorNumber (доступны с Server 2003 и Vista) и GetCurrentProcessorNumberEx (доступны с Server 2008 R2 и Windows 7).

См. Также ответы на этот вопрос для получения дополнительных вариантов и соображений (включая Windows XP — в первую очередь этот ответ, описывающий использование инструкции cpuid).

Конечно, номер ядра может быть изменен планировщиком в любое время, поэтому, если вам нужно быть уверенным, возможно, это поможет в разумных пределах, если вы проверите номер ядра как до, так и после того, что вы измерили или выполнили в течение короткого промежутка времени, и если номер ядра по-прежнему тот же, то вы знаете, на каком ядре, скорее всего, также выполнялся промежуточный код.


3

Community
23 Май 2017 в 15:31

Если вы хотите узнать количество ядер и потоков ЦП на ПК с Windows 11 или Windows 10, вот как вы можете это сделать. Существует несколько способов узнать количество ядер и потоков ЦП в Windows 11/10, и в этой статье объясняется большинство из них. Вы можете следовать за любым из них, чтобы выполнить задание.

Как найти ядра и потоки процессора в Windows 11/10

Чтобы найти ядра и потоки ЦП в Windows 11/10, выполните следующие действия:

  1. Использование панели «Информация о системе»
  2. Использование диспетчера задач
  3. Использование Windows PowerShell
  4. Использование командной строки
  5. Использование диспетчера устройств

Чтобы узнать больше об этих шагах, продолжайте читать.

Примечание. К вашему сведению, потоки также называются Логический процессор(ы).

1]Использование панели «Информация о системе»

Как найти ядра и потоки процессора в Windows 11/10

Вероятно, это самый простой способ найти ядра и потоки ЦП на ПК с Windows 11 или Windows 10. Как следует из названия, панель «Информация о системе» отображает всю информацию об оборудовании вашей системы, включая процессор. Поэтому выполните следующие действия, чтобы найти ядра и потоки ЦП в Windows 11/10 с помощью панели «Информация о системе»:

  • Нажмите Win + R, чтобы открыть окно «Выполнить».
  • Введите msinfo32 в пустое поле.
  • Перейдите в раздел «Процессор».
  • Прочтите всю строку, чтобы узнать о ядрах и потоках.

Однако, если вы не хотите использовать панель «Информация о системе», вы можете использовать и другие методы.

2]Использование диспетчера задач

Как найти ядра и потоки процессора в Windows 11/10

Диспетчер задач отображает так много информации о вашем компьютере. Будь то аппаратное или программное обеспечение, вы можете найти полезную информацию в диспетчере задач. Чтобы найти ядра и потоки ЦП с помощью диспетчера задач, выполните следующие действия:

  • Нажмите Win+X, чтобы открыть меню WinX.
  • Выберите Диспетчер задач из меню.
  • Перейдите на вкладку «Производительность».
  • Убедитесь, что выбран ЦП.
  • Найдите информацию о ядрах и логических процессорах.

3]Использование Windows PowerShell

Как найти ядра и потоки процессора в Windows 11/10

Ту же информацию можно найти и с помощью Windows PowerShell. Для этого сделайте следующее:

  • Найдите Windows PowerShell в поле поиска на панели задач.
  • Нажмите «Запуск от имени администратора».
  • Нажмите кнопку Да.
  • Введите эту команду, чтобы найти ядра ЦП: WMIC CPU Get NumberOfCores
  • Введите эту команду, чтобы найти потоки: WMIC cpu get numberofLogicalProcessors

Вы можете найти информацию сразу на экране Windows PowerShell.

4]Использование командной строки

Как найти ядра и потоки процессора в Windows 11/10

Вы можете использовать тот же параметр WMIC, чтобы найти ту же информацию с помощью командной строки. Для этого выполните следующие действия:

  • Найдите cmd в поле поиска на панели задач.
  • Нажмите «Запуск от имени администратора».
  • Нажмите кнопку «Да» в приглашении UAC.
  • Введите эту команду, чтобы найти ядра ЦП: WMIC CPU Get NumberOfCores
  • Введите эту команду, чтобы найти потоки: WMIC cpu get numberofLogicalProcessors

Как обычно, вы можете сразу найти информацию о ядрах и потоках ЦП на экране командной строки.

Примечание. Вы также можете использовать Windows Terminal для использования команды WMIC. В этом случае вам нужно нажать Win+X, выбрать Терминал Windows (администратор) вариант и нажмите кнопку Да кнопку в приглашении UAC.

5]Использование диспетчера устройств

Как найти ядра и потоки процессора в Windows 11/10

Хотя Диспетчер устройств отображает так много информации об оборудовании, он ничего не показывает о количестве ядер. Однако вы можете узнать количество потоков с помощью диспетчера устройств. Чтобы использовать Диспетчер устройств для поиска потоков ЦП, выполните следующие действия:

  • Щелкните правой кнопкой мыши меню «Пуск», чтобы открыть меню WinX.
  • Выберите Диспетчер устройств из списка.
  • Разверните раздел «Процессоры».
  • Подсчитайте число, указанное в меню «Процессоры».

Читайте: Как проверить поколение процессоров Intel в Windows

Как проверить свой процессор и ядра в Windows?

Есть несколько способов проверить ваш процессор и ядра в Windows. Независимо от того, используете ли вы Windows 11, Windows 10 или любую другую версию, вы можете использовать вышеупомянутые методы, чтобы выполнить свою работу. Например, вы можете проверить панель «Информация о системе» или «Диспетчер задач». В диспетчере задач перейдите в Производительность вкладку и нажмите на опцию ЦП. Затем отправляйтесь в ядра а также Логические процессоры раздел.

Понравилась статья? Поделить с друзьями:
  • Как определить на каком диске установлена windows через командную строку
  • Как определить какая учетная запись администратора windows 10
  • Как определить на каком диске стоит windows
  • Как определить какая у меня материнская плата на windows 10
  • Как определить модель озу средствами windows