Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Compilare in RAM, unionfs-way -> [non funzionante]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Tue Dec 12, 2006 1:14 pm    Post subject: [TIP] Compilare in RAM, unionfs-way -> [non funzionante] Reply with quote

Come molti sapranno portage utilizza come directory temporanea per compilare i pacchetti /var/tmp/portage, montando questa directory in ram quindi, potrebbe essere molto utile perché si risparmia vita all'hard-disk e la compilazione avviene più velocemente. Montare staticamente /var/tmp/portage in ram però non è una buona soluzione perché per pacchetti troppo grossi lo spazio a disposizione potrebbe esaurirsi.

Sono nate quindi varie soluzioni tramite bashrc per montare la partizione in ram solo per alcuni pacchetti (es. portage-bashrc-ng con modulo tmpfs), recentemente però ho trovato una soluzione che mi soddisfa di più, in particolare si tratta di montare /var/tmp/portage come unione di due filesystem: uno temporaneo e uno reale, in modo da utilizzare la ram per i pacchetti più piccoli e l'hard-disk per quelli più grandi in maniera completamente trasparente. Ecco qui il mio tip:

Prima installiamo unionfs (al momento è ~x86, quindi dovrete smascherarlo probabilmente):
Code:
emerge unionfs

Adesso creiamo alcune directory che ci serviranno:
Code:
mkdir /var/tmp/portage{,_hd,_tmpfs}

Dopodiché inseriamo in /etc/fstab:
Code:
# /var/tmp/portage
tmp /var/tmp/portage_tmpfs tmpfs size=400M,nodev,nr_inodes=90000 0 0
/dev/vg/tmp /var/tmp/portage_hd xfs noatime,nodiratime 0 0
unionfs /var/tmp/portage unionfs dirs=/var/tmp/portage_tmpfs/=rw:/var/tmp/portage_hd/=rw 0 0


Io qui uso una partizione a parte per /var/tmp/portage_hd, ma non è indispensabile, l'importante è montare /var/tmp/portage_tmpfs in ram e poi /var/tmp/portage come unione. In questa maniera unionfs utilizzerà per i primi 400M la ram e poi passerà alla partizione dell'hard-disk. Un buon compromesso sia per i pacchetti piccoli (che vengono compilati completamente in RAM) e per quelli grandi (che vengono compilati nell'hard-disk). :wink:


EDIT:
Il tip non funziona, leggete il proseguiemnto nel thread per chiarimenti, speriamo che implementino questa feature nelle nuove versioni di unionfs.
_________________
Running Fast!


Last edited by Luca89 on Wed Dec 27, 2006 12:40 pm; edited 1 time in total
Back to top
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2960
Location: Milano, Italy

PostPosted: Tue Dec 12, 2006 1:46 pm    Post subject: Reply with quote

Semplice, efficace && geniale!
Bel tip davvero!
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3652

PostPosted: Tue Dec 12, 2006 2:27 pm    Post subject: Reply with quote

Sarebbe carino se funzionasse ...
unionfs permette la scrittura in una sola directory, a prescindere da quante ne vengano definite come rw
Quindi seguendo il tuo esempio e provando a usare una tmpfs da 1 mb si avrà un bell disk full praticamente con ogni pacchetto visto che riempito il mega non prosegue a scrivere nella directory sul disco ...
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4477
Location: In giro

PostPosted: Tue Dec 12, 2006 2:29 pm    Post subject: Reply with quote

cosa comporta di diverso rispetto a montare /var/tmp/portage in tmpfs e usare la swap quando la ram finisce? (comportamento normale di tmpfs)
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3652

PostPosted: Tue Dec 12, 2006 2:37 pm    Post subject: Reply with quote

Cazzantonio wrote:
cosa comporta di diverso rispetto a montare /var/tmp/portage in tmpfs e usare la swap quando la ram finisce? (comportamento normale di tmpfs)

tmpfs non usa la swap quando la ram finisce, tmpfs alloca in memoria una partizione di una certa dimensione e a lui non interessa che sia in ram o in swap ma solo che sia in memoria (fisica o virtuale non gli interessa) ma generalmente ram+swap < hd in quanto a capacità quindi se anche si montasse una partizione tmpfs di dimensione uguale a ram+swap rischi cmq un disk full (oltre a saturare tutta la memoria del sistema) mentre un qualsiasi hd anche se vecchiotto ha a disposizione diversi gb, lui sperava quindi di evitare che riempiendo tmpfs si bloccasse la compilazione andando a proseguire sul disco fisso.
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Tue Dec 12, 2006 2:43 pm    Post subject: Reply with quote

Kernel78 wrote:
Sarebbe carino se funzionasse ...
unionfs permette la scrittura in una sola directory, a prescindere da quante ne vengano definite come rw
Quindi seguendo il tuo esempio e provando a usare una tmpfs da 1 mb si avrà un bell disk full praticamente con ogni pacchetto visto che riempito il mega non prosegue a scrivere nella directory sul disco ...


oh :oops:

Sono stato un cretino, non ho provato a riempire i 400Mb, però come size totale dell'unione mi dava la somma dei Mb e nel man non mi pare che diceva questa cosa, bah, niente, peccato, sarebbe stata una buona cosa. :)
_________________
Running Fast!
Back to top
View user's profile Send private message
Tiro
l33t
l33t


Joined: 14 Feb 2003
Posts: 750
Location: italy

PostPosted: Wed Dec 27, 2006 7:58 am    Post subject: Reply with quote

maaa.....questo?

http://forums.gentoo.org/viewtopic-t-340329.html
Back to top
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2960
Location: Milano, Italy

PostPosted: Wed Dec 27, 2006 8:58 am    Post subject: Reply with quote

Tiro wrote:
maaa.....questo? http://forums.gentoo.org/viewtopic-t-340329.html
... :roll: questo tip, finito male, voleva esser una estensione del 3d da te linkato
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Wed Dec 27, 2006 10:16 am    Post subject: Reply with quote

Luca89 wrote:
bah, niente, peccato, sarebbe stata una buona cosa. :)


Luca89, vuoi che sposto il thread nel forum di discussione?
Altrimenti suggerirei di scrivere nel topic qualcosa tipo "[NON FUNZIONA]" o qualcosa di simile ;-)
_________________
Ciao da me!
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Wed Dec 27, 2006 10:57 am    Post subject: Reply with quote

In definitiva, si monta /var/tmp/portage in tmpfs e quando emerge salta perché ha esaurito lo spazio (mi è successo ieri compilando wine) se ne modifica la dimensione? Impostare la dimensione alta ha qualche effetto quando portage non sta compilando?
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Wed Dec 27, 2006 12:40 pm    Post subject: Reply with quote

randomaze wrote:
Altrimenti suggerirei di scrivere nel topic qualcosa tipo "[NON FUNZIONA]" o qualcosa di simile ;-)


Fatto
_________________
Running Fast!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum