Šta je novo?

sort

  • Začetnik teme Deleted member 9456
  • Datum pokretanja
D

Deleted member 9456

Guest
Kod:
sort --parallel=4 -u zarad4.txt > zarad5.txt
Upotrebio sam ovaj parametar za sort --parallel=4 sto bi znacilo da uptrebi paralelno 4 CPU jezgra. Pitam se pitam kad nista ne navedem da li koristi svih 6 CPU jezgra ili samo jedno. Kolko sam primetio nista brze nisam dobio isortiran izlazni fajl.
Kod:
sort -T=/media/lega99/KH/lega99/tmp
Definisao sam tmp koji treba da koristi a koji nije deo linuxa iz kojeg radim sort. Sort koristi /tmp na / particiji sto je meni malko bezveze a i juce sam dobio poruku da nema mesta na / za fajl koji je oko 10GB. Kad definisem ovako kao je dato u primeru javlja da ne moze da pise po tom diru a ladno iz delfina drugi linux pisem, brisem, kopiram, otvaram dir iako nisam vlasnik na tom diru a i ne treba mi sudo
 
Gledao sam linkove u drugom linku covek kaze da bi trebalo da to radi automatski, znaci koliko slobodnih jezgra toliko paralelizma. Ima primera ali se to svodi na split i merge a preduslov za merge je da fajlovi budu usortirani. Ne razumem primer jer koliko znam a te stavri sam radio na mainframe, merge je merge a sort je sort. Drugi faktor je sto ja kad radim sort uvek koistim -u tj. odbacivanje duplih slogova.
/tmp nisam dobro definisao problem, ja imam vise diskova i vise linuxa, nije problem /tmp kao /tmp nego sto na / particiji nema dovoljno mesta za prolazni fajl dok radi sort, neki puta naguram i 20GB kad spojim fajlove i izbacujem duple slogove.
Pokusao sam da iz jednog linuxa koristim slobodan prostor u bilo kojem linuxu ili na nekoj ntfs particiji. Odradio sam i tu varijantu ali moram u jednom delfinu da sam na toj particiji i tom diru a u drugom radim sort sa tim dirom kao pomocnim i on glumi /tmp.
Koliko zakljucujem na neki nacin kroz delfin taj dir ja privremeno montiran tako da bi najbolje bilo da napravim jednu nezavisnu particiju koju ce svi linuxi koristiti za /tmp kad radim sort, ta particija mora imati sve dozvole a i mora najverovatnije da se montira kroz fstab kod podizanja nekog linuxa. Uvek je bilo kao stavi za / 35-40GB za /home koliko imas, mislio sam da sistem radi sa swap fajlom ali u ovom slucaju boli sistem uvo za swap jer sam sort kao radnja ne zauzima mnogo RAM memorije a i malo mi je suludo da sort koji radi sa /home pise po /tmp koji je na / particiji. Sort cak nece da radi sa definisanim kao tmp na svom /home ako se sa (fajl managerom) delfinom ne pozicioniram na to mesto jer sam sortirao fajlove sa druge particije i iako sam ja user koji startuje sort i moj je /home nece bez odlaska na taj dir koji sluzi kao privremeni tmp.
 
Pogledao sam pazljivo primer, ide split na male fajlove, sort tih malih fajlova i onda merge. Kad gledam htop ako stavim broj paralelnih procesa ne mogu da prokuzim da li sve radi paralelno ili ne, imam 6 sortova i kad ne stavim nista htop je suvise spor da bi pokazao da li stvarno radi 6 sortova odjednom.
 
Kad imaš 6 sortova? Sa ili bez dodavanja argumenta. Ali, ako ti zapuca na taj način, baš i treba da bude tako. Znači da su sva jezgra zauzeta. Probaj i običan top, a probaj i ps-grep kombinaciju.

Za montiranje mi je malo čudno to sa delfinom. Probaj sa i bez, a u isto vreme pogledaj sa mount kako ih je montirao. Generalno, svi van osnovnog fajl sistema se montiraju sa restriktivnim ovlašćenjima, zbog sigurnosti. Izlistaj sa ls, pa probaj al i n argumente, možda su i različiti korisnici, ako su u pitanju različite distribucije. Neki počinju da kreiraju od broja 1000, neki od 500, neki od 326 :)

I još, znaš da možeš da napraviš neki temp fajl bilo gde, da ga formatiraš i montiraš kako hoćeš i gde hoćeš? Ako ti baš zafali prostora.
Ekstra što svaku montirnu tačku možeš da ubaciš i u fstab, a da ne montiraš automatski, nego po potrebi.
 
Stavio sort --parallel=6 ili ne kroz htop uvek se vidi 6 sortova, ni prikaz jezgara CPU u htop nista ne kazuje uvek je aktivno 6. Kad gledam ponasanje svakog jezgra nikad nije zakucano, evo sad pratim htop iz debian jedan sort se prikazuje a stabvljeno je sort --parallel=6 a nijedno jezgro nije zakuano na 100% nego varira od 5% do 98%. I sad budi pametan, ovo sam u Ubuntu radio tamo se u htop vidi uvek 6 sortova jezgra nikad nisu zakucana na 100%. Sad sam pustio ovaj sort ulazni file 12.8GB radi oko 1h i poceo je da puni izlazni file.
Sad ostaje varijanta da to isto pustim bez sort --parallel=6 i vidim za koje ce vreme da odradi.
 
/tmp na serveru je najbolje nikad ne držati na root particiji, već ga izdvojiti kako ti bilo ko ne bi mogao da popuni root fajlsistem. Samo ako je to neki računar kome jedino ti pristupaš, onda nije bitno. Ako nemaš mesta, možeš neki share na drugoj mašini dodati kao /tmp u fstab. Verovatno znaš sve ovo, al nije zgoreg da pomenem.
 
Sad sam pratio sort sta radi, sort radi upravo ono sto je dato u jednom od linkova, na work podrucju formiraju se manji fajlovi u ovom mom slucaju preko 100 fajlova. Sve sto je dato na linku kako se ubrzava sort vec je implementirano u samom sortu.
 
Sad ja upadam kao baba iz bunila, ali da li imaš opciju da koristiš neku bazu? Zvuči kao posao za bazu.
 
Sad ja upadam kao baba iz bunila, ali da li imaš opciju da koristiš neku bazu? Zvuči kao posao za bazu.
Ne, iskljucivo txt fajlovi. Malo sam isprobavao a i ko neverni Toma proveravao, sve te opcije inplementirane su u sort koliko ja mogu da zakljucim.
 
@Neky ti predlaže da sve te slogovo uvezeš u bazu, pa posle kroz nju da sortiraš, filtriraš i sl. I da, na toliku količinu sigurno da bi bilo brže.
 
@Neky ti predlaže da sve te slogovo uvezeš u bazu, pa posle kroz nju da sortiraš, filtriraš i sl. I da, na toliku količinu sigurno da bi bilo brže.

Sad si me nasmejao :d Sve sam ja to pozaboravljao a to sto sam radio bilo nekad i nije se radilo ko na PC, drugo vreme. Sad nemam pojma kako bi digao sql server, nemam pojma kako bi to uvezao unutra, a i nemam volje vise ista da ucim pod stare dane a obaska sto se ocas iznerviram.:) Ikao sam u svoje vreme radio sa relacionim bazama itd, nama je najbrze i najefikasnije tada bilo da uradimo export i sekvencijalno azuriranje i onda fast load baze, to se radilo sa mnogo golemim brojem promena. Sve knjige koje sam imao pobacao sam, zadnje sto sam odslusao bilo je kurs za MCSA da nesto znam o PC i windowsima, posle toga ne znam ni sta sam radio, svelo se na sredjivanje haosa i izigravanje PC majstora i projektovanje IS i tendera za opremu, odradio to i otisao u klinac. Sad sve ovo radim da ubijem vreme da mi prodje dan.
 
Poslednja izmena od urednika:
Znaš šta, lega! Malo ga tupiš, da prostiš moj francuski, sa tim godinama ;-)

Normalno je da si malo živčaniji, ali da znaš da ovaj mladac što tek raste je već otišao u tri lepe sa živcima.

A godine su relativne, moj ćalac u 60-oj počeo sa linuxom i kompjuterskom audio obradom, na ES odJel elektronika, maltene svi stariji prešli na linux, moj razredni nastavnik, matematičar, u 60-oj upisao ekonomski, završio i počeo ljudima da vodi knjige. To sve na Balkanu. Ovde u Italiji, metuzalemi u 90 i nekoj se bune kad im ne produže vozačke. Svi vucaraju tablete, mobilni su ipak "malo" sitniji za konzumaciju. Tako da, udri samo!
 
Nazad
Vrh Dno