应用程序(helanzb)是一个系统猪,nice 19 啥都不做

Posted

技术标签:

【中文标题】应用程序(helanzb)是一个系统猪,nice 19 啥都不做【英文标题】:Application(hellanzb) is a system hog and nice 19 does nothing应用程序(helanzb)是一个系统猪,nice 19 什么都不做 【发布时间】:2009-11-18 20:13:59 【问题描述】:

我既是 nntp nzb leecher 的贡献者和用户,又是名为 helanzb 的类 Unix 系统的用户。它是用 python 编写的,效果很好。尽管当传输速率很高并且程序正在使用 par 和 unrar 之类的应用程序时,大多数系统都会停滞不前。如果您以 10MB/s 的速度下载 dvd 翻录,同时使用 unrar 解压缩最后一个,则用户整个系统将停止。

这个问题在 FreeBSD 中不太常见,因为它有利于交互式作业,但 Linux 是我们遇到最多问题的地方。即使我们使用“nice 19 hellanzb”,将其设置为最不重要,系统仍然会停止。

我们的程序有效,并且具有攻击性,但这似乎是用户想要的。用户不希望他的系统在下载和解压文件时变得不可用。我们不想在内部限制我们的软件,我们宁愿让调度程序更多地关注交互式应用程序而不是批处理。

有没有更好的方法来做到这一点?

【问题讨论】:

nice -19 不是真的让它更像猪吗?我想你会想要nice 19 hellanzb 【参考方案1】:

您的问题并不清楚,但您似乎正在启动各种流程作为您的应用程序的一部分。如果是这样,当您启动这些进程时,您必须自己明确控制它们的好坏,这是特定于操作系统的事情。

如果你要分叉/执行,你可以使用os.nice()。

【讨论】:

我们分叉自己来运行这些程序,因此它们保留了我们主应用程序的良好价值。【参考方案2】:

听起来您在 CPU 耗尽之前就超出了系统的整个 IO 容量。我在某处记得一些关于离子的事情,但我不记得在哪里。

【讨论】:

以上是关于应用程序(helanzb)是一个系统猪,nice 19 啥都不做的主要内容,如果未能解决你的问题,请参考以下文章

Linux进程的静态优先级和nice系统调用

设置在 linux 上运行的 Java 程序的 nice 值

朴素的UNIX之-调度器细节

liunx-进程优先级nice

回馈粉丝,开源一个基于SSM物业疫情系统界面和功能nice

回馈粉丝,开源一个基于SSM物业疫情系统界面和功能nice