문제

I have three applications running on a beefy machine at the same time (32GB memory) and 32 CPUs. The three applications have to run in parallel. Two of these applications are C applications and they are IO intensive (they are constantly writing a large amount of data to the disk). The third application is a java application which basically reads the files written by the first two applications and write different files. I can run each application smoothly without problems but when I try to run the three together, it seems that CPU% usage of the first applications are high and the CPU% usage for the third application shows as 0%. I am using Ubuntu linux. I am trying to give equal process priority to these applications. Any idea what the problem is?

도움이 되었습니까?

해결책

OK I will answer my question in case someone comes across the same issue. My problem is I had an unfair disk scheduler. For Linux, there are many types of IO schedulers (deadline, cfq, noop). CFQ is a fair scheduler and it is the default in many linux distributions...except mine I guess! I changed the scheduler to CFQ and now it is working fine. You can check your current scheduler using the command

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

You can set your IO scheduler using the command

 echo cfq > /sys/block/{device name}/queue/scheduler
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top