9 我什至不知道问题出在哪里,但是我在谈论这里描述的内核攻击。在此评论列表的下方,有人询问如何重新安排该过程。这个技巧并没有改善这种情况(机器仍然以非常缓慢的方式运行),并且在回复评论中谈到了内核空间与用户空间的关系。 首先,答复是否正确?如果是这样,为什么renice对用户空间中的事物而不对内核空间中的事物起作用?另外,根据我阅读的内容,用户自己启动的所有程序都应该位于用户空间中,我错过了什么? 如果这是不正确的,那为什么不肯改善这种状况呢? kernel — 细河 source
9 内核为用户空间提供了一些服务(例如打开套接字)。有一个定义明确的接口(API),用户空间程序可以通过它与内核进行交互。 在这种情况下,用户空间程序将反复打开套接字并通过它们发送文件描述符,然后关闭套接字。这些动作由内核执行。它将文件描述符保存在缓冲区中,直到套接字的另一端读取它为止。特定的错误是垃圾收集器最终应释放文件描述符,但事实并非如此-fd泄漏。泄漏的fds加起来并坐在那里消耗资源。终止程序不会释放资源,因为它们不属于程序。 — 肖恩·高夫 source 6 renice不能提供帮助的原因是,它仅影响进程获得的用户CPU时间份额。为此,不计算在内核模式下花费的时间。通常,nice仅影响受CPU约束的程序,而不影响受IO约束的程序。在这里,失控的过程是纯粹的IO,甚至没有执行太多的系统调用,因为错误是每个系统调用花费的时间太长。 — 吉尔(Gilles)'所以 1 @Gilles对不起,您碰到了这么老的问题,但是看起来很有趣!我理解正确ionice吗,类似的东西会做得更好? — rozcietrzewiacz 2011年 @rozcietrzewiacz我也不认为ionice会有所帮助,但我不确定。由于该错误,该过程将所有时间都花在单个syscall上,而ionice不会阻止这一点(我认为)。 — 吉尔斯(Gilles)'所以