为什么在 Linux 中进程名称以字母 k 开头?

Nic*_*s C 3 linux process

当使用top一台Linux服务器上的命令,我可以看到多个根进程开始以字母ķ,像例如kthreaddkblockdkhelperkacpi_notifyksmdkswapd0khugepagedksmd等等。

我认为这不是巧合。什么是ķ站在这里?

Dan*_*l B 7

这些不是进程而是内核线程

线程是“轻量级进程”(LWP)。[...]

[...]

内核空间线程通常在内核中使用多个表来实现(每个任务都有一个线程表)。在这种情况下,内核在每个进程的时间片内调度每个线程。从用户->内核-> 用户模式切换和加载更大的上下文会增加一些开销,但初始性能测量表明时间增加可以忽略不计。

好处。由于时钟信号将决定切换时间,因此任务不太可能占用任务内其他线程的时间片。I/O 阻塞也不是问题。最后,如果编码正确,该过程可以自动利用 SMP,并且随着每个 CPU 的增加而运行得更快。

相关阅读