Egyenlőtlen CPU load a magokon?
2011-08-19T16:28:48+02:00
2011-08-23T11:28:12+02:00
2022-07-24T12:01:27+02:00
  • A load (bocs, kicsit rég volt és emlékezetből írom, de valaki csak kijavít, ha marhaságot írok), az x idő alatt végrehajtásra várakozó processzek (v. threadek?) száma. Ezek várhatnak még néhány dologra a CPU-n kívül.
    A CPU terhelés meg hogy mennyire van kitömve(üresjárat:tényleges tevékenység arány) az adott processzor/mag/illetve hyperthreading-es proci esetén a magnak látszó valami.
    Mutasd a teljes hozzászólást!
  • így már világosabb, köszi! De mi a különbség a load és a terhelés között? A terhelés a CPU kihasználtsága, a load pedig a végrehajtásra váró feladatok száma?

    Tényleg csak pár perces intervallumot néztem.
    Mutasd a teljes hozzászólást!
  • Egyrészt, ahogy "ez nem megy" mondta, egyes szálak lehetnek egy konkrét magra rögzítve. (Windows alatt a SetThreadAffinityMask API függvény való erre, de biztosan más oprendszeren is van hasonló lehetőség.) Mondjuk nem szokás ilyet használni: én csak olyan esetben láttam használatban, amikor régi, nem szálbiztos többszálú programokat "javítanak meg" azzal, hogy ugyanarra a magra korlátozzák az összes szálat. (Ezeket a programokat egymagos procin fejlesztették és tesztelték, így nem vettek észre olyan szálbiztonsági problémákat, amik csak valódi párhuzamos végrehajtás közben okoznak gondot.)

    Az, hogy nem egyenletes a magok közt a terhelés, nem kéne, hogy gond legyen: elvileg a procinak bírnia kell az összes mag 100%-os terhelését is, így aztán azt is bírnia kell, ha egy mag van 100%-on, a többi 0-n. Sőt, elvileg ha magonként külön cache-t használ a proci, akkor még előnyt is jelenthet, ha egy processz konzisztensen ugyanarra a magra van ütemezve. Csak akkor van gond, ha még nincs minden mag 100%-on, és valaminek mégis várnia kell a CPU-ra.
    Mutasd a teljes hozzászólást!
  • A load? Vagy a terhelés?
    Doksit így hirtelen nem tudok ajánlani, de teljesen normálisnak tűnik, különösen ha csak néhány perces intervallumot nézel.
    Op.rendszertől is függ, de lehetnek szálak, amik csak dedikált magon hajlandóak futni, bizonyos rendszereken ki lehet jelölni, hogy melyiket preferálja (mondjuk ezek 10+ éves tapasztalatok és nem desktop rendszerről )
    A load egyébként az egységnyi idő alatt az erőforrásra várakozó processzek száma, ha jól sejtem, ezt nem is osztja magokra a rendszer.
    Mutasd a teljes hozzászólást!
  • Sziasztok,

    A kérdésem az, hogy mindenképpen "baj" az, hogy mondjuk 10-15% különbség van a magok terhelése között?

    Intel Quad magok, 4 darab.

    A különbséget úgy értem, hogy mondjuk pár percig mintákat veszünk és nézzük a maximumot, átlagot, stb.

    Valahogy úgy gondolom, alapvetően egyenletes kell legyen a terhelés, de közben sejtem, hogy ez függ a programoktól is, amiket futtatunk (hány processz, hány szál, SMP, operációs rendszer talán?).

    Lehet, hogy ez dilettáns kérdés, de milyen akadálya, oka lehet annak, hogy a rendszer nem tudja egyenletesen szétosztani a terhelést a magok között?

    Annak is nagyon örülnék, ha valami dokumentációt tudnátok ajánlani.

    Köszi!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd