sort ma problemy s velkym souborem?

David Kuzela david na kuzela.cz
Neděle Říjen 7 11:00:18 CEST 2001


Zdravim,

mam jeden velky soubor (CDDB zaznamy na radku vzdy: kapela / album):

  $ wc rock.list
   146831  921623 4960851 rock.list

a chtel jsem si ho setridit. Necekal jsem komplikace a pouzil

  sort < rock.list > rock.sorted

sort je z predkompilovany v debianu z textutils 2.0-2. Po nekolika 
vterinach si vytvori sort nekolik pomocnych soboru v /tmp:

-rw-------    1 dawyd    dawyd      524279 říj  6 19:23 sort1800500000
-rw-------    1 dawyd    dawyd      524281 říj  6 19:23 sort1800500001
-rw-------    1 dawyd    dawyd      524276 říj  6 19:23 sort1800500002
-rw-------    1 dawyd    dawyd      524273 říj  6 19:23 sort1800500003
-rw-------    1 dawyd    dawyd      524258 říj  6 19:23 sort1800500004
-rw-------    1 dawyd    dawyd      524267 říj  6 19:23 sort1800500005
-rw-------    1 dawyd    dawyd      524286 říj  6 19:23 sort1800500006
-rw-------    1 dawyd    dawyd      524273 říj  6 19:23 sort1800500007
-rw-------    1 dawyd    dawyd      524268 říj  6 19:23 sort1800500008
-rw-------    1 dawyd    dawyd      242390 říj  6 19:23 sort1800500009

Dal jenom zere 100% CPU a soubory nemeni (po 3 hodinach mi dosla trpelivost), 
kdyz ho spustim znovu, vytvori behem par vterin totez:

-rw-------    1 dawyd    dawyd      524279 říj  6 23:33 sort1802600000
-rw-------    1 dawyd    dawyd      524281 říj  6 23:33 sort1802600001
-rw-------    1 dawyd    dawyd      524276 říj  6 23:33 sort1802600002
-rw-------    1 dawyd    dawyd      524273 říj  6 23:33 sort1802600003
-rw-------    1 dawyd    dawyd      524258 říj  6 23:33 sort1802600004
-rw-------    1 dawyd    dawyd      524267 říj  6 23:33 sort1802600005
-rw-------    1 dawyd    dawyd      524286 říj  6 23:33 sort1802600006
-rw-------    1 dawyd    dawyd      524273 říj  6 23:33 sort1802600007
-rw-------    1 dawyd    dawyd      524268 říj  6 23:33 sort1802600008
-rw-------    1 dawyd    dawyd      242390 říj  6 23:33 sort1802600009

Soubory obsahuji i znaky, ktere v rock.list urcite nejsou (ale to je
mozna normalni). System ma 256MB pameti z velke casti nevyuzite:

$ free # pred spustenim sortu
             total       used       free     shared    buffers     cached
Mem:        256124     233680      22444          0       7768      95208
-/+ buffers/cache:     130704     125420
Swap:       497972      77208     420764

takze nechapu, proc si vytvari pomocne soubory. To je zatim vse na 
co jsem prisel, nez se pustim do blizsiho zkoumani pricin (zdrojaky
sortu jsem nikdy nevidel a jako neprogramator se na ne moc netesim), 
chci se zeptat, jestli nekdo netusi v cem je problem.

Dekuji
-- 
                                                David Kuzela 
-=[david na kuzela.cz]=-=[ICQ][24470559]=-=[http://penguin.cz/~dawyd]=-


Další informace o konferenci Linux