优先考虑三种不同的应用

时间:2014-01-14 21:02:48

标签: java c performance ubuntu hard-drive

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

1 个答案:

答案 0 :(得分:1)

好的,如果有人遇到同样的问题,我会回答我的问题。我的问题是我有一个不公平的磁盘调度程序。对于Linux,有许多类型的IO调度程序(截止日期,cfq,noop)。 CFQ是一个公平的调度程序,它是许多Linux发行版的默认设置......除了我的想法!我将调度程序更改为CFQ,现在它运行正常。 您可以使用命令

检查当前的调度程序
 cat /sys/block/{device name}/queue/scheduler

您可以使用命令

设置IO调度程序
 echo cfq > /sys/block/{device name}/queue/scheduler