No announcement yet.

Semi OT, Computer Hogging Processor

  • Filter
  • Time
  • Show
Clear All
new posts

  • Semi OT, Computer Hogging Processor

    Having a problem with the computer on my CNC mill. Its an AMD 64 single core, 2.2ghz, 1 gig ram. Running mach3 and XP Home SP3. I have been having an issue with Mach running all herky jerky. I popped open task manager and found that mach at times was using 50 to 99% of the processor. Then I noticed that even at times where mach was not running the processor load would stick at 99% with no listed processes in the task manager showing that it was using the CPU. In fact often the "SYSTEM IDLE PROCESS" was sitting at 99%.

    Any ideas? Is there any software that will show me what other hidden processes are doing?

  • #2
    All I can tell you for certain, is that the system idle process always shows the inverse of the sum of all the other processor usage. I have never seen an XP machine that did not display it this way. I think it is XP's way of saying 99% of the processor usage is free right now.



    • #3
      The system idle process is a do-nothing process that indicates how much processor time is available to use by other processes. A completely quiet machine would have 100% system idle. It is an impossible figure to achieve as the processor is always busy doing something.

      CPU usage alone is not a good indicator of system performance. A system running at 80% could be a perfectly happy system that is getting a lot of work done. A better clue is to see how many processes are waiting for processor time. Those processes are starved or not being serviced for some reason. I don't know jack about Windows so don't know how, using task manager, you can learn much, but Unix systems will give you a very complete picture of total system performance. The important thing to remember is that CPU usage is only excessive if another process is waiting for CPU time and not getting it. If Mach is the only process running that is of consequence then why not let it have it all? Those CPU's are expensive and should be earning their keep.

      Of great interest is the page file usage. Systems that are short on memory will spend a lot of time paging and that just thrashes the system. Mind you, some paging is normal and acceptable and even beneficial. A couple things can cause this: too many applications for the amount of memory are running, an application requires more memory than the system has, or one or more applications are requesting memory and not returning it to the pool when done (memory leaks) and memory is artificially depleted.

      Unix systems provide several metrics for debugging performance issues - IOWait, context switching, paging, and swapping, for example. In excess none of these are good. I don't know where Windows reports this but Windows suffers right along with Unix when these are excessive.


      • #4
        Believe it or not, you can get exactly what you need from Microsoft. Well, not exactly from MS but from a couple of guys that now work for them. MS made them an offer they couldn't refuse but they negotiated the right to continue distributing all of their Windows hacking tools and even the Blue Screen Of Death screen saver.

        Goto the "Process Utilities" section and take your pick. Process Monitor is a good one to start with. There is no installation for these, just unzip and run. When you start Process Monitor turn off all the items except the basics or you will be flooded by a zillion reports per second.
        Free software for calculating bolt circles and similar: Click Here


        • #5
          This may be a bull**** answer but I wonder if driving what I assume to be a parallel port is causing so many interrupts as to keep the thing far busier than it should be. I might check in control panel system and make sure that the parallel port is not sharing an interrupt with something else like the mouse. Also I'd try checking the bios and seeing if there is anything like extra serial ports that can be disabled.

          USB also tends to have problems like this where it doesn't work in realtime due to the overhead of the protocol when servicing the interrupts.

          Windows in general is not very good at realtime stuff because it is not very deterministic in interrupt processing and has a relatively high overhead compared to an actual Realtime operating system like Neutrino.