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

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

在 Linux 服务器上使用该top命令时,我可以看到以字母开头的多个 root 进程,例如kthreaddkblockdkhelperkacpi_notify,,等等ksmdkswapd0khugepagedksmd

我认为这不是巧合;代表这里?

答案1

这些不是过程,而是内核线程

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

[...]

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

优点。由于时钟周期将决定切换时间,因此任务不太可能占用任务内其他线程的时间片。此外,I/O 阻塞也不是问题。最后,如果编码正确,该过程可以自动利用 SMP,并且随着每个添加的 CPU 而逐渐加快运行速度。

相关阅读

相关内容