Ubuntu 会自动排队数百个进程吗?

Ubuntu 会自动排队数百个进程吗?

我正在创建一个服务,该服务可能会ffmpeg同时调用数百甚至数千个命令。Ubuntu 16.04 会自动将这些作业排队吗?

是否有某种应用程序比其本机方法做得更好?

答案1

任何 Linux 发行版都可以轻松管理多个(甚至数百个)进程实例。

但是,为了获得最佳性能,您应该仅使用您的机器可以管理的硬件线程数的进程。

添加更多进程(例如:8 线程机器上的 16 个进程实例)将降低由于严重的缓存破坏和资源过度使用而导致的性能。

答案2

不,如果你启动了数千个进程,内核就会尽最大努力运行这数千个进程。但显然,这不会有什么好结果。

要像这样连续运行作业,请使用 gearman 或 RabbitMQ 等工具组建适当的作业队列系统。这样,作业就会在消息队列中排队,您的工作进程会使用这些可用消息,并且每次只运行少量进程。

相关内容