A problémám az, hogy ha fordítok valamit, akkor a 2 cpu együttes kihasználtsága mindig 50%-on van. Nem, nem csak az egyik proci dolgozik, hanem hol az egyik fut fel 99%-ra, hogy a másik, hol pedig 50-50%-on jár (ezen variációk között ugrál). Legalábbis a top ezt mutatja.
Mindez azért érdekes mert single cpu-s gépeken egy fordítás mindig 100%-ra tolta fel a terhelést, szóval elvileg itt is ki kellene használnia a teljes elérhető kapacitást, de nem teszi.
Az smp mód biztos működik, hisz mint fentebb írtam a terhelést váltogatja egymás között a 2 proci, tehát nem csak az egyik dolgozik.
Mivel tudnám rávenni a gépet, hogy fussa ki azt ami benne van?
másik kérdés:
Tegnap csináltam egy "update world"-öt, és belefutottam olyanba hogy az egyik csomag magasabb verziószámra frissítette volna magát mint amit egy másik támogatott volna (konkrétan a pam-login és a shadow veszett össze) és ezért blokkolták egymást.
Megoldásként azt tudtam ugye csinálni, hogy a már nem támogatott verzió felett lemaskoltam a pam-logint. De ezzel az a gondom, hogy észben kell tartanom... Nincs valamilyen olyan "kompatibilitási" ellenőrzés ami update-kor csak addig frissíti az adott csomagot, amíg bírja a vele függésben lévő?
A segítő válaszokat előre is köszönöm!
- 1724 megtekintés
Hozzászólások
>pam-login és shadow
sztem várni kell egy kicsit és akkor lesz a másikból is frissebb
- A hozzászóláshoz be kell jelentkezni
A fordítás alapvetően egy processzoron zajlik, a make képes párhuzamosítani, ha adsz neki egy -j kapcsolót.
-j N -nél N a párhuzamos szálak száma, enélkül meg eldönti saját 6áskörben.
- A hozzászóláshoz be kell jelentkezni
Hogy ez rendesen működjön, ahhoz kell vmi extra a makefile-ba, vagy olyan okos, hogy kitalálja magától, hogy mit párhuzamosíthat?
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Okos.
- A hozzászóláshoz be kell jelentkezni
be van lőve a MAKEOPTS="-j3", szóval nem ezzel van bibi (2 CPU van...)
- A hozzászóláshoz be kell jelentkezni
Udv!
A parhuzamositasrol:
/etc/make.conf-ba kell egy ilyen sor: MAKEOPTS="-jN", ahol a gentoosok ajanlasa szerint N=(prociszam+1), 2 proci eseten N=3 lenne, de valoszinuleg igy sem fogja kihasznali 100%on a procid, emeld ezt az erteket egyesevel, amig el nem ered a 100%os kihasznaltsagot. Ez az opcio mondja majd meg, h az emerge rendszer hany parhuzamos job elvegzesere kerje majd meg a make-t. Talald meg a te konfiguraciodhoz a legjobb erteket, tul magas, vagy tul alacsony ertek hosszabb forditasi idot eredmenyez.
pam-login, es shadow-rol: mostantol a shadow csomag veszi at a pam-login csomag szerepet, nyugodtan unmergeld a pam-logint.
# emerge -C pam-login && emerge -uDN world
- A hozzászóláshoz be kell jelentkezni
köszönöm, megpróbálom.
A kézi stopperen kívül tudom valahogy összehasonlítani a fordítási időket?
- A hozzászóláshoz be kell jelentkezni
A time parancs gondolom használható erre is?
A pye szkript kijelzi az emergelés idejét a folyamat végén (ebben persze benne van a letöltés és az előző verzió leszedése is, de ha a forrás már a gépen van, akkor az kiesik): link
---------
MaGenTa - http://magenta.linuxforum.hu
- A hozzászóláshoz be kell jelentkezni
Hali,
vagy parseolod az emerge logjat, kezzel vagy genloppal.
http://packages.gentoo.org/search/?sstring=genlop
Persze ez csak forditas utan megy.
- A hozzászóláshoz be kell jelentkezni
time 'emerge ....'
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
pam-logint leveszed, felrakod az uj shadow-t, orulsz.
t
- A hozzászóláshoz be kell jelentkezni
A problema a forditassal az, hogy nem csak CPU intenziv. Egy csomo I/O is van benne. Akkor pedig a CPU kihasznaltsag elmeletileg 0, es a buffer is csak veges meretu. Ez is egy oka lehet annak, hogy nincs mindket CPU 100%-on.
Egy masik ok az is lehet, hogy a make sem tokeletes a job-ok parhuzamositasaban :) Sot, projektenkent (Makefile-onnkent) is valtozhat. Ha annyira szekvencialis a Makefile, hogy a vegso targetig mindegyik target fugg az elozo(ek)tol, akkor bizony nemigen lehet parhuzamositani...
- A hozzászóláshoz be kell jelentkezni
oké, benne van, hogy a make nem tudja kihasználni teljesen az smp-t, de ha a top-al összevont kihasználtságot nézek, akkor az stabil 50% környékén mozog.
Tehát nem arról van szó, hogy nem megy padlógázzal (mondjuk a tökéletlen párhuzamosítás miatt) hanem, hogy fixen félgőzzel forgat. (írtam, kb a következő állások vannak: 99%-0%,0%-99%, 50-50%, másféle cpu terhelést nemigen láttam, ezek között ugrál 2 másodpercenként)
- A hozzászóláshoz be kell jelentkezni
Es fizikalisan is ket processzor van a gepedben, vagy a HT-re huztal ra smp kernelt, es ezen nezed?
- A hozzászóláshoz be kell jelentkezni
fizikálisan
- A hozzászóláshoz be kell jelentkezni
A proci típusára van optimalizálva a kernel, vagy simán a genkernel all paranccsal fordítottál?
- A hozzászóláshoz be kell jelentkezni
procira van optimalizálva (p3), és ezt a make.conf-ban is megadtam...
- A hozzászóláshoz be kell jelentkezni
Esetleg megpróbálhatod a gcc-t -pipe opcióval, az IO valamelyes csökkentése érdekében, de amit leírsz jelenség, az egyértelműen arra utal, hogy rohadtul csak egy procin fut a fordítás.
Ja, és HT suxx.
- A hozzászóláshoz be kell jelentkezni
abszolútértékben mindenféleképpen, de a top felváltva mutat terhelést a két procin, szóval dolgozni dolgozik, csak nem egyszerre... :(
no HT...
- A hozzászóláshoz be kell jelentkezni
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
szóval a gcc is azzal van.
- A hozzászóláshoz be kell jelentkezni
Hogy a disk io-t csokkenthesd, a memoriaban is fordithatod a cuccot, csak ahhoz ugye sok memoria kell. gentoo wiki-n van egy leiras rola:
http://gentoo-wiki.com/TIP_Speeding_up_portage_with_tmpfs
- A hozzászóláshoz be kell jelentkezni
összesen 512Mb van, szóval ez nem játszik :/
Annyit tuningoltam rajta, hogy ccache-eltettem. Amit még tudok csinálni az a portage külön particióra tevése reiserrel bár nemtom, hogy ez teljesítményben mit számít, eddig csak tárhelygazdálkodási előnyöket olvastam róla.
- A hozzászóláshoz be kell jelentkezni
no most egy emerge mellett elindítottam egy kernelforgatást is, így már szépen izzad a gép 100% környékén.
Az új kernel talán hoz változást, majd meglátjuk...
- A hozzászóláshoz be kell jelentkezni
A shadow vs. pam-login problémához: http://farragut.flameeyes.is-a-geek.org/articles/2006/06/01/refreshing-the-pam-login-and-shadow-problem
---------
MaGenTa - http://magenta.linuxforum.hu
- A hozzászóláshoz be kell jelentkezni
ha a "premmptible" ocpiot kiveszed a kernel configból?
- A hozzászóláshoz be kell jelentkezni
nincs is benne (a help szerint szervereknek nem ajánlott)
- A hozzászóláshoz be kell jelentkezni
hátha egyszer valaki rákeres a témára, úgyhogy beírom a megoldást:
A "biosban"(aka. System Configuration Utility) át kellett állítani Advanced módban (Ctrl+A lenyomása) az APIC settingset Full Table módba.
- A hozzászóláshoz be kell jelentkezni