Link to home
Start Free TrialLog in
Avatar of dim120897
dim120897

asked on

NT responce is freezing when disk access (writing)

Hello,

Have you research such a problem?..
When NT performs intensive write operations, it's console becomes very slow. It is not possible to connect to any running application. We have written simple program that writes several thousand blocks of 30 - 60Kb on disk. When it executes, NT console stops responding. Microsoft sais that if we see 100% disk utilization, it tells aboult disk bottleneck. We have seen this issue on various hardware platforms: desktop PC with EIDE controller, Compaq Proliant server with Smart-2/P Array an others. When similar program runs in OS/2, this OS behaves better: OS/2 itself and its tasks responce more quickly.
Could you give me a hint, what is the main cause of such NT behavior and are there any settings improving that NT responce?

      Regards,
            Dmitri Menschikov
      dim@qnet.e-burg.su
ASKER CERTIFIED SOLUTION
Avatar of cer
cer

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of dim120897
dim120897

ASKER

Thank you very much.

I realize, that if my program performs writes as fast as possible (it really does!), there is a bottleneck. Could you explain me, where is the bottleneck? I see that processor is loaded below 50%. I think, the bus also is not fully loaded. When I ran my program in OS/2, it responces very fast. I increased IOPageLockLimit as you had advised, and it seems NT responce improved, but not in the same matter as in OS/2.
Also, decreasing of task priority is not useful, because in performance monitor I see that the user time is small and the privileged time is almost the same as the total processor time. So the system process executes most time during experiment.
    I think, this question is important in multitasking NT environment (for example, Winframe): when one task is performing writing, others are stopping.
    Thank you.

The problem with NT is that it is NOT real multitasking as it is for OS/2. Therefore it can't really be done, you must try to make a workarround special for your case.
I remember there a 3rd party products which turns NT into a real multitasking programm.
If you improve your diskperformence your programm will writes even faster, until processor time is 100% for this task. If the programm is designed for just fast writing, I guess there is no disk system which can cope with this.
If you give less time to your writing process, it can't issue so much disk activity, but you must slow it down very much. If then does not write write anymore it will behave very slowly.
So the only chance would be to limit the disk access. If you for example write to a network volume the NIC is the bottleneck leaving enough resources for other tasks.
While your programm is running: open the taskmanager, switch to processes and have a look which task takes up all the CPU time. Try to decrease the priority of this task.