题
我既是一个贡献者和称为hellanzb用于Unix等系统的NNTP NZB吸血的用户。这是写在Python和工作得很好。虽然当传输速率高,程序使用应用程序的类似标准杆和的unrar,大多数系统停顿。如果您正在下载的10MB / s的DVD翻录,同时unraring最后一个用的unrar,用户的整个系统将只暂停。
这个问题在FreeBSD的不太常见的,因为它有利于交互式工作,但Linux是,我们有大部分的问题。甚至当我们用“漂亮19 hellanzb”,将其设定为最不重要的系统仍然陷入停顿。
我们的程序工作,并且是侵略性的,但似乎是用户想要什么。用户不希望下载文件并提取它,当他的系统变得不可用。我们不想在内部限制我们的软件,我们宁愿调度只是更专注于交互式应用程序,而不是一批。
有没有更好的方式来做到这一点?
解决方案
这不是从你的问题不清楚,但是它好像你推出各种工艺为您的应用功能的一部分。如果是这样,你必须明确地控制这些过程你自己的美好的事物,当你启动它们,这是一个操作系统的具体的事情。
如果你分叉/ execing,你可以使用 OS .nice( )。
其他提示
听起来好像用完CPU的前超过了系统的整个IO能力。我记得一些有关的ionice的地方,但我不记得在那里。
不隶属于 StackOverflow