Многопоточное разделение в системе * nix

Как репликация потоков на процессор обрабатывается в системе * nix? Например, один процесс использует 37 потоков, машина имеет 4 ядра. Обычно все потоки помещаются на 2 ядра. Иногда на 3 ядра. И почти никогда на 4 ядрах.

Есть ли способ увидеть, какой поток на каком ядре? И сколько процессор он использует?

One Solution collect form web for “Многопоточное разделение в системе * nix”

Не уверен. Если я смогу полностью ответить на этот вопрос, или если я понимаю весь ваш вопрос?

Как перераспределение потоков на процессор обрабатывается в системе * nix?

Я знаю, что это низкоуровневый материал, например, самый низкоуровневый материал, который ядро ​​позаботится об этом. Я знаю, что ядро ​​Linux (я думаю, что они все работают так.) Рассматривает много разных вещей (такие, как температура), чтобы принять это решение.

Например, один процесс использует 37 потоков, машина имеет 4 ядра. Обычно все потоки помещаются на 2 ядра.

hm, вы правы в том смысле, что процессор (Core) действительно не выполняет «процессы», а потоки. Но все же процесс состоит в том, что на самом деле это «почти физическое». (У него есть владелец и привилегии, также представляет весь фрагмент времени, который используется всеми его потоками.) Обладает одним ядром за раз. Потоки этого процесса выполняются на нем до тех пор, пока он не выйдет или не будет прерван. Вы не можете иметь несколько потоков одного и того же процесса на разных ядрах.

Почему так?

Ты видишь. выполнение потока – это не просто чтение списка инструкций x86. Существует огромный список привилегий, что он может делать и что он не может (уровни звонков, адрес-пространство), эти вещи относятся к одному процессу, и все его потоки ведут себя на основе этого.

Есть ли способ увидеть, какой поток на каком ядре? И сколько процессор он использует?

Я вижу, вам интересно узнать, как это работает, это хорошо. Но поверьте мне, это совершенно неинтересно. Не беспокойтесь, люди, которые проектировали ядро, строят его таким образом, что он уравновешивает их довольно чертовски хорошо. Вы можете использовать htop он показывает некоторую информацию. Я новичок, но кто-то, кто прочитал man ps определенно может ответить на этот вопрос.

  • Почему использование большего количества потоков делает его медленнее, чем использование меньших потоков
  • Что означает стек в связи с процессом?
  • Получить общее использование памяти хрома
  • Параллельные задачи и процесс убийства
  • Запуск скрипта python 200 000 раз параллельно с использованием bash
  • Какая потребность в struct thread_info для определения структуры task_struct?
  • Проверьте использование CPU / потока для узла в менеджере заданий Slurm
  • Что происходит с многопоточным процессом Linux, если он получает сигнал?
  • Использует ли потоки все еще считающиеся анти-шаблонами?
  • Как запустить команду в среднем 5 раз в секунду?
  • Ускорение работы zgrep на многоядерном компьютере
  • Interesting Posts

    Как изменить порт по умолчанию SAMBA на centos?

    Может ли понижение скорости ускорения пробуждения из спящего режима?

    Как я могу увидеть размер нераспределенного размера раздела в командной строке после сокращения раздела с помощью resize2fs?

    /etc/sysctl.conf абстракция для пользовательского использования

    Трубный вывод двух программ, запущенных параллельно другой программе

    Как проверить, какой сетевой интерфейс активен и предоставляет интернет?

    Как установить беспроводной адаптер Mac OS X в режим мониторинга

    Создание оболочки zsh по умолчанию без доступа root

    Использование подстановок / подстановочных знаков при открытии файлов с терминала

    Не удается запустить X-серверы на разных вкладках дисплея

    Как проверить, находится ли элемент в массиве bash?

    Как использовать параметры pass-in для сценария оболочки?

    Почему debian unstable предпочитает устанавливать cgmanager?

    Разница между автоматическим режимом и ручным режимом в вариантах обновления

    Более быстрый способ поиска совпадающих шаблонов из внешнего файла grep -f {patternfile} {source} в BASH

    Linux и Unix - лучшая ОС в мире.