| Forum Home | ||||
| Press F1 | ||||
| Thread ID: 23866 | 2002-08-28 02:45:00 | Dos programs causing NTVDM to have 99% CPU usage | Rhys Wilson (1596) | Press F1 |
| Post ID | Timestamp | Content | User | ||
| 74376 | 2002-08-28 02:45:00 | We have a NT4 machine running SP6a and whenever one of the dos applications runs, the system monitor shows the cpu usage cycling between 5-99%. We have identified the culprit as NTVDM.exe (NT Virtual Dos Manager) and as soon as the Dos program is stopped, CPU usage returns to normal. With NTVDM running, the cpu runs at 99 % for 10 seconds, and then drops back down to 5-10 % for about 5 seconds, then back up to 99% for 10 seconds and so on. The dos program is used for com port monitoring and I am hoping someone will have some ideas as to why the CPU usage is so high. |
Rhys Wilson (1596) | ||
| 74377 | 2002-08-28 03:29:00 | Have you got a way of setting priorities? In general, DOS programmes don't know about cooperative timesharing . . . The 10 second/5 second thing suggests that it's preemptive sharing cutting in . The DOS programme runs at maximum speed, until it is forced to give some time to the other minor things, like the company business, interactive editing, etc . ;-) . Programmes should normally give the OS notice that it wants I/O, and then sleep until the I/O returns . If your culprit is looking at ports, it probably bypasses the OS and looks direct, so it never has to wait . So it is a very quick programme, looping round the ports, not doing much, but doing it often . You might have to make it have a time delay between scans . . . if it's designed for use with NT, it ought to have such a setting; othewise, can you make it scan once and exit, and schedule it to run at reasonable intervals? I had a few programmes like that on a mainframe . Clever programming, and a few tricks meant that the programmes ran at 100% efficiency . They ran so fast that the operators didn't have time to see them hogging resources and kill them . ]:) |
Graham L (2) | ||
| 1 | |||||