2

При использовании команды top на сервере linux я вижу несколько корневых процессов, начинающихся с буквы k, например kthreadd , kblockd , khelper , kacpi_notify , ksmd , kswapd0 , khugepaged , ksmd и многие другие.

Я предполагаю, что это не совпадение; что здесь означает k ?

1 ответ1

6

Это не процессы, а потоки ядра:

Нити - это "легковесные процессы" (LWP). [...]

[...]

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

Преимущества. Поскольку clocktick будет определять время переключения, задача с меньшей вероятностью захватит временной интервал из других потоков в задаче. Также блокировка ввода / вывода не является проблемой. Наконец, при правильной кодировке процесс автоматически может использовать преимущества SMP и будет работать с каждым шагом все быстрее.

Связанное чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .