为什么用户程序要扰乱内核空间?

为什么用户程序要扰乱内核空间?

我什至不确定问题是什么,但我说的是所描述的内核攻击这里。在此列表中评论某人关于重新优化流程。这个技巧并没有改善情况(机器仍然以非常缓慢的方式运行),并且回复评论说了一些关于内核空间与用户空间的内容。

首先,回复的评论正确吗?如果是这样,为什么 renice 适用于用户空间中的事物而不适用于内核空间中的事物?另外,根据我的情况,用户自己启动的所有程序都应该在用户空间中,我错过了什么?

如果不正确,那么renice为什么不改善这种情况呢?

答案1

内核向用户空间提供一些服务(例如打开套接字)。用户空间程序可以通过一个定义良好的接口(API)与内核进行交互。

在这种情况下,用户空间程序重复打开套接字并通过它们发送文件描述符,然后关闭套接字。这些操作由内核执行。它将把文件描述符保存在缓冲区中,直到套接字的另一端读取它。特定的错误是垃圾收集器最终应该释放文件描述符,但它没有 - fd 被泄漏。泄漏的 fd 累积起来并消耗资源。终止该程序并不会释放资源,因为它们不属于该程序。

相关内容