Acties:
  • 0 Henk 'm!

  • SideShow
  • Registratie: Maart 2004
  • Laatst online: 16-06 15:55

SideShow

Administrator

Topicstarter
Hallo

Ik vond op google niet direct een bevredigend antwoord m.b.t. CPU load (%)

Zelf ben ik overtuigd dat je op een gegeven moment nooit 50% CPU gebruik kan hebben;

- als er werk is, doet de CPU dat zo snel mogelijk (100%)
- als er geen werk is, is de CPU idle (0%)

Wat je ziet in je task manager, is dus steeds een gemiddelde van een afgelopen tijdspanne.

Ik ben geen techneut, maar klopt dit, of sla ik de bal volledig mis?

*edit: laat het ons voor de duidelijkheid over "cores" hebben, niet over CPU's

[ Voor 8% gewijzigd door SideShow op 02-02-2015 19:53 ]


Acties:
  • 0 Henk 'm!

  • -Bas
  • Registratie: Juli 2011
  • Laatst online: 08:46
Ik snap je punt niet helemaal. Bedoel je dat je in taakbeheer gewoon pieken en dalen ziet, of staat je cpu vast op 50%?

Misschien een screenshot zodat we het beter begrijpen? Het is in ieder geval normaal dat je CPU af en toe op 50% staat.

Acties:
  • 0 Henk 'm!

  • maratropa
  • Registratie: Maart 2000
  • Niet online
50 % is toch gewoon de helft van je cores die op dat moment op max staat en vol gebruikt wordt?

Ok wacht ik begrijp wat je bedoelt ;)

[ Voor 30% gewijzigd door maratropa op 02-02-2015 19:47 ]

specs


Acties:
  • 0 Henk 'm!

  • SideShow
  • Registratie: Maart 2004
  • Laatst online: 16-06 15:55

SideShow

Administrator

Topicstarter
De 50% is een voorbeeld - er is niks mis met mn systeem.

De vraag is simpel: kan een CPU aan xx% draaien, waarbij 0 < xx en xx < 100 ?
Mijn stelling: neen - ofwel gaat hij volledig, ofwel is hij idle.

Wat je afleest in bijvoorbeeld task manager (zelfs bij individuele cores) is dus steeds een gemiddelde, door de hardware zélf, of door het OS, berekend.

Aan iemand anders om mijn vraag en stelling te weerleggen :)

*edit: laat het ons voor de duidelijkheid over "cores" hebben, niet over CPU's

[ Voor 16% gewijzigd door SideShow op 02-02-2015 19:53 ]


Acties:
  • 0 Henk 'm!

  • NitroX infinity
  • Registratie: Januari 2002
  • Laatst online: 16:59
Zie de processor als een kantoor vol met groepen werknemers waarbij elke groep een specifieke taak uitvoert.

Er komt een order/opdracht binnen.

Deze opdracht zal naar alle waarschijnlijkheid niet alle groepen vereisen; als er niet geverfd hoeft te worden kan die groep lekker koffie blijven zuipen.

Van elke groep zal ook niet elke persoon nodig zijn. Immers, 4 mensen die dezelfde paragraaf schrijven is onzin.

En zo heb je dus dat slechts een deel van de groepen aan het werk is en van die groepen ook maar een bepaalde hoeveelheid mensen.

Dus een processor niet ten volle belasten is wel degelijk mogelijk.

Volgens mij heb ik het zo redelijk simpel uitgelegd, kan fout zijn maar dat roept een ander dan wel.

Graphene; a material that can do everything, except leave the lab. - Asianometry


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 17:40
Een processor kan je niet gedeeltelijk belasten.
De processor voert code uit, of niet. Of dit nuttige code is, of NOP, maakt niet uit. Hij moet iets doen. Anders staat hij uit, of is hij kapot.

Windows verdeelt tijd van de processor in delen welke kunnen worden toegewezen aan de verschillende taken.
In Windows worden de "3 giga instructies per seconde" worden verdeeld in stukken van milliseconden.
Elke taak krijgt eens in de zoveel tijd toegang tot de processor voor een tijdsduur van 20 ms.
Wanneer, en hoe vaak dit gebeurt is afhankelijk van de prioriteit van de taken, en vele andere factoren. Hier zijn algoritmes voor.
Stel dat de 20 ms regel heel streng word gevolgd. Dan heeft de processor 50 blokken (time slices) cpu-tijd voor taken, per seconde. Wanneer al deze 50 slices nodig zijn om alle wachtende taken van cpu-tijd te voorzien, spreekt men van 100% cpu load. Ik zeg taken, omdat processen in Windows vele lagen abstractie hoger liggen, en vaak meerdere taken hebben.
Nu vragen taken niet continu cpu tijd. Vaak wachten ze op interactie van andere taken, het internet, de harde schijf, het geheugen of andere bronnen. Taken kunnen hun slice ook eerder weer vrijgeven voor de volgende wachtende taak.

Nu hebben processoren meerdere cores, hyper threading, speedstepping en andere complexe onderdelen. Tevens hoeven ze ook niet meer continu NOP instructies uit te voeren als ze niks doen. Dat kost namelijk energie.
De moderne processor is tegenwoordig zo snel dat wanneer Windows alleen het bureaublad laat zien, 95% van de cpu tijd ongebruikt blijft. En de cpu dus zijn tijd uitgeschakeld spendeert om energie te besparen.

Acties:
  • 0 Henk 'm!

  • SideShow
  • Registratie: Maart 2004
  • Laatst online: 16-06 15:55

SideShow

Administrator

Topicstarter
jeroen3 schreef op maandag 02 februari 2015 @ 20:18:
Een processor kan je niet gedeeltelijk belasten.
Ok, dank, dat wou ik horen. Ik besef natuurlijk wel dat het allemaal niet zo makkelijk is, maar mn basis idee was er toch niet hopeloos naast.

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 17-06 18:46
En dat geldt natuurlijk niet alleen voor CPU usage, maar ook voor zaken als I/O. Disk I/O wordt vaak berekend als 'percentage van een tijdspanne dat er een outstanding I/O request is'.

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 17:40
Thralas schreef op maandag 02 februari 2015 @ 22:17:
En dat geldt natuurlijk niet alleen voor CPU usage, maar ook voor zaken als I/O. Disk I/O wordt vaak berekend als 'percentage van een tijdspanne dat er een outstanding I/O request is'.
Vergeet memory io niet. De beschikbare hoeveelheid is logisch, maar ook de verbindende geheugenbus heeft een capaciteit.

Zoals achter gehouden door Nvidia bij de GTX 970 .

Acties:
  • 0 Henk 'm!

  • Admiral Freebee
  • Registratie: Februari 2004
  • Niet online
Lees anders ook eens Load (Computing) op Wikipedia. Dat vond ik een verhelderend artikel.

[ Voor 16% gewijzigd door Admiral Freebee op 03-02-2015 18:13 ]

Pagina: 1