wt6g
9th December 2010, 05:28 PM
We need a new feature in Fedora. I'm going to call it Dynamic Priority or Dynamic Niceness or Nice Dynamic I/O Priority (NDIP)
Here's the issue:
Some programs really bog down Fedora if they are disk intensive. A really good program for doing this is recoll which indexes all of the files on your system, but there are many others. When you start one of these I/O hogs, it sometimes becomes very difficult to get control of your system. X starts to lag in repainting the screen, and the only partial solution is to shut down the offender and run it from a terminal windows with "nice" set high.
This helps if there is a lot of cpu stuff going on (which is often the case) and allows a higher priority process to take over, but it DOES NOT fix the situation all the time - when a lower priority task really bogs down the I/O for example because the processor gets stuck in I/O wait cycles for the disk.
The kernel should not allow this to happen, but it does.
I have several suggestions, (but I'm sure there are better solutions).
1. We need a nice equivalent for I/O.
2. We need a more effective version of nice, that also prioritizes I/O
3. We need a modification to the kernel so that I/O cannot bog down the system
4. The most recent task the user starts should somehow be given the highest priority, hence the use of dynamic above.
I'm sitting here as I write this watching the problem come and go. With recoll running, if the task is cpu intensive, the invocation using nice keeps the running of recoll unnoticeable with regard to my foreground work. As soon as recoll starts using the disk hard, I get no keyboard response, let alone any I/O response, and of course the majority of the cpu time is being wasted in WAIT mode for the disk I/O to complete, even though there is plenty of cpu work to do - like redraw the screen.
/Len
PS this is a dual core system with 6 Gigs of ram running at 3.6 GHz
Here's the issue:
Some programs really bog down Fedora if they are disk intensive. A really good program for doing this is recoll which indexes all of the files on your system, but there are many others. When you start one of these I/O hogs, it sometimes becomes very difficult to get control of your system. X starts to lag in repainting the screen, and the only partial solution is to shut down the offender and run it from a terminal windows with "nice" set high.
This helps if there is a lot of cpu stuff going on (which is often the case) and allows a higher priority process to take over, but it DOES NOT fix the situation all the time - when a lower priority task really bogs down the I/O for example because the processor gets stuck in I/O wait cycles for the disk.
The kernel should not allow this to happen, but it does.
I have several suggestions, (but I'm sure there are better solutions).
1. We need a nice equivalent for I/O.
2. We need a more effective version of nice, that also prioritizes I/O
3. We need a modification to the kernel so that I/O cannot bog down the system
4. The most recent task the user starts should somehow be given the highest priority, hence the use of dynamic above.
I'm sitting here as I write this watching the problem come and go. With recoll running, if the task is cpu intensive, the invocation using nice keeps the running of recoll unnoticeable with regard to my foreground work. As soon as recoll starts using the disk hard, I get no keyboard response, let alone any I/O response, and of course the majority of the cpu time is being wasted in WAIT mode for the disk I/O to complete, even though there is plenty of cpu work to do - like redraw the screen.
/Len
PS this is a dual core system with 6 Gigs of ram running at 3.6 GHz