CPU usage in Idle Workbench
2 Attachment(s)
Hi Folks :)
I was wondering, why the CPU usage in an idle Workbench is so High. You see, i was looking at Dopus Cpu usage Gauge and i was wondering why it was changing, without doing anything :shocked It was always changing, from 14% to 18 to 38% and then repeat the same loop. So, i did download PerfMonitor https://aminet.net/package/util/moni/PerfMonitor and it showed me that the Input.Device needs a lot of Cpu usage. Even the wait for the Trackdisk.device needs a few Procent. But the results are completly different from DOpus. :shocked The Tool System Idle https://aminet.net/package/dev/src/SystemIdle10 on the other hand, showed 99-100% free Cpu. ? Now, i am really confused. Maybe you can help me out ? 1) Is it normal that the Input Device needs that much Cpu ? 2) Are those tests even real ? (Dopus Cpu, PrefMonitor, SystemIdle, ect.) 3) If they are, why are they conflicting each other in the results ? 4) If the Input.device really needs that much Cpu, why dosent multitask (OS friendly) Apps/games suffer. Hmmm, i dont understand these results :shocked ....; a confused, Torti :spin |
It may be that the software that does the measurement itself takes important amount of cpu.
As input.device is the context GUI is normally handled, as long as you need to draw something -- it will take its toll. In short, this kind of measurement isn't reliable. But you could see how much is taken by just creating and running some program whose instruction timing is known and measures its own speed, then compare the result with the counted clocks (i dunno if i'm clear here :D). |
Sounds Complicated; at least for a baked Smurf like me :p
Those Cpu Monitors report pretty much always the same results. (dosent matter if real Hardware or Emulated. 68020 or 68060 Cpu ..... dosent make a difference :nuts Weird :crazy |
Quote:
Tasks that are 'waiting' use almost no CPU time. These tasks don't get any CPU time unless something they are waiting for becomes active. Quote:
Tally up all the 'waiting' percentages and you will get close to 100%. That doesn't mean the CPU is being used during that time. On the Amiga the CPU doesn't just 'spin its heels' when no tasks need it, it actually goes into an idle state while waiting for the task scheduling (or any other) interrupt. It does this using the 'STOP' instruction, which halts the CPU until an interrupt occurs. This reduces system power consumption because there is no CPU bus activity, and also significantly reduces CPU power consumption on CMOS CPUs. Quote:
Quote:
Quote:
|
Quote:
|
Quote:
If you want more concrete proof, here is idle loop from rom 39.106 (A1200) : Code:
00f8138e: move.w #$2700,sr |
Quote:
So the emulator will suspend the native emulator process when emulating the STOP instruction (or something along those lines) - interesting... |
Quote:
|
The interesting thing about this is that it took the Windows NT branch until the early 2000s (?) to add such a simple feature.
|
Really interestig stuff. Thanks for all the feedback so far :great
|
1 Attachment(s)
In general CPU usage should be very low, unless you have some 'devils' running in the background that do something, even if you don't see it.
It could be a busy signal from one of the devices that causes problems.. http://eab.abime.net/attachment.php?...1&d=1640357702 PS: The DOpus5 CPU meter is a simple approach to the problem, that does not do justice most of the time untill there is some real load. Use something more dedicated if you really wish to see how cpu usage varies. Like above, small spikes are windows moved. |
All times are GMT +2. The time now is 12:31. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.