background
   Blog RSS
   Who The fuck is n00b?
   My code
   PGP public key
n00b's simple b(r)log
Rant čez ... Vbistvu kar vse.
up
down
Arhive
Avgust 2007 (10)
September 2007 (4)
Oktober 2007 (9)
November 2007 (5)
December 2007 (34)
Januar 2008 (14)
Februar 2008 (15)
Marec 2008 (17)
April 2008 (17)
Maj 2008 (17)
Junij 2008 (15)
Julij 2008 (18)
Avgust 2008 (19)
September 2008 (14)
Oktober 2008 (14)
November 2008 (16)
December 2008 (13)
Januar 2009 (12)
Februar 2009 (9)
Marec 2009 (8)
April 2009 (9)
Maj 2009 (14)
Junij 2009 (5)
Julij 2009 (7)
Avgust 2009 (7)
September 2009 (4)
Oktober 2009 (8)
November 2009 (6)
December 2009 (8)
Januar 2010 (9)
Februar 2010 (7)
Marec 2010 (5)
April 2010 (4)
Maj 2010 (4)
Junij 2010 (6)
Julij 2010 (2)
Avgust 2010 (0)
September 2010 (1)
Kategorije
Jaz, jaz in jaz. (106)
Coding (69)
Neumnosti (49)
Lajf vglavnem (72)
TravianWAP (22)
Web Sec (2)
Brez kategorije (124)
B(r)logrola
Skrivnostnežev blog
Svizec blog
Klemnov blog
Če mi je pa škoda programe pobijat ... :-(
[n00b] :: 28.12.09 :: 01:24:30
3 komentarjev :: Brez kategorije

Torej, server na katerem gostujem (moj?!) ni ravno neki state-of-the-art zadeva. Vbistvu je to že dokaj zastarela zadeva, ki še pač deluje normalno (nekaj o serverju lahk zvete tukaj)... Ampak deluje pa! PHA!

No anyways, ker me je že parkrat v življenju računalnik dobesedno na gobec, delam vsako noč backup celotnega serverja. Backup skripta ni nič posebnega, izračuna md5 checksum vseh kritičnih fajlov na serverju (ne traja dolgo, belive me), nato pa večino stvari strpa v en squashfs. Ni najbolj optimalna rešitev, ampak, hey, dela pa. ;-)

No, in del ki najbolj obremeni mašino je izdelava squashfs-ja. Rama pusti prostega zelo malo, da procesorja ne omenjamo. No sredi tega zverinjaka, mi je pa v ozadju laufal lzma kompresor, ki je tako ali tako požrl že skoraj vso memorijo. Efekt? Vse kar je še linux pametnega počel je bilo premikanje blokov iz swapa v ram in obratno. 

Obadva procesa mi je bilo škoda kilnit, mogel sem pa nekak umirit zmedo. Solušn?

pkill -SIGSTOP lzma

SIGSTOP? WTF?! Wikipedia pravi tole: "On POSIX-compliant platforms, SIGSTOP is the signal sent to a process to stop it for later resumption". Ja, kaj, pač, nehal bo porabljat procesor. Ampak to še vedno ne reši problema, da je rama premalo...

Or does it? Glede na to da proces ne dela ničesar... Se je linux odloču da bo po potrebi spakiral vse kar ma lzma v memoriji v swap v zameno za squashfs.

Torej čez 3 minute je večina memorije lzma ležala v swapu, mksquashfs se je pa brez problema izvajal z večino svojega spomina v ramu.

Ko je končal samo: pkill -SIGCONT lzma, počakaš par minut, da kernel potegne potrebne page iz diska v ram in greš spat... :-)

Če si tako len kot jaz, si še skriptico napišeš, ki bo ko bo treba sama poslala tisti signal :-)

 
Bergi @ 31.12.09 :: 00:27:52

man nice
man renice

Dej mu neko +10 prioriteto, pa mas mir..

n00b @ 31.12.09 :: 15:22:59

Poznam oboje, obadva se poženeta na +15 ;-)

Problem je bil prevelika količina swappinga (obadva programa sta požrla 2x tolk rama, kot ga je fizično v mašini), ki ga pa renice ne reši.

Bergi @ 31.12.09 :: 21:44:55

Lahko pa proces zazenes kot drug uporabnik, kateremu z ulimit-om nastavis dovoljene kolicine pomnilnika (&& morbit cpu casa)

 
Komentiraj
Nikname:
Mail: (ne bo prikazan)
Webpage: (neobvezno)
captcha (Ne vidite?)
Remote IP: 38.107.191.94

 
Nazaj na poste