对三种不同的应用程序给予同等的优先级



我有三个应用程序同时在一台强大的机器上运行(32GB 内存)和 32 个 CPU。这三个应用程序必须并行运行。其中两个应用程序是 C 应用程序,它们是 IO 密集型的(它们不断向磁盘写入大量数据)。第三个应用程序是Java应用程序,它基本上读取前两个应用程序写入的文件并写入不同的文件。我可以顺利运行每个应用程序而不会出现问题,但是当我尝试同时运行这三个应用程序时,似乎第一个应用程序的 CPU% 使用率很高,第三个应用程序的 CPU% 使用率显示为 0%。我正在使用 Ubuntu linux。我正在尝试为这些应用程序提供相同的进程优先级。知道问题是什么吗?

好的,

如果有人遇到同样的问题,我会回答我的问题。我的问题是我有一个不公平的磁盘调度程序。对于Linux,有许多类型的IO调度程序(deadline,cfq,noop)。CFQ 是一个公平的调度程序,它是许多 Linux 发行版中的默认设置......我猜除了我的!我将调度程序更改为 CFQ,现在它工作正常。您可以使用以下命令检查当前的调度程序

 cat /sys/block/{device name}/queue/scheduler

您可以使用以下命令设置 IO 调度程序

 echo cfq > /sys/block/{device name}/queue/scheduler

最新更新