# dubbi su utilità cchace e tmpfs

## Gremo

1) cchace viene sfruttato quando si cambia use flag? (immagino di no...)

2) e quando si cambia versione di gcc (immagino di no...)

3) e quando si aggiorna un programma senza cambiare use flags? (immagino di no...)

allora a cosa serve effettivamente?

io l'ho attivato perchè nell'ultima installazione ero in testing (ACCEPT_KEYWORDS ~x86) e dopo aver aggiornato gcc e cambiato profilo mi è convenuto molto dare l'emerge -e system && emerge -e world con ccache attivato, è stato ua scheggia. 

Ma nell'uso normale, quindi l'aggiornamento dei pacchetti o l'installazione di nuovi non serve a nulla giusto?

Anzi, nell'installazione di nuovi pacchetti potrebbe anche rallentare di un minimo, visto che si scrive in /var/tmp/ccache

per quanto riguarda tmpfs:

Leggo che 300mb non sono sufficienti per gcc, 800 per xorg....

1) di conseguenza non posso fare un emerge -e world, perchè non ci starebbe in 1gb di ram? ammesso che dia tutta la ram a tmpfs

2) una volta finito u emerge, i files temporanei restano nel tmfs, quindi in ram, qundi avrò la mia ram occupata e dovrò manualmente cancellare tutti i /var/tmp/portage ?? al riavvio, supponendo un montaggio automatico, verrà svuotata da sola?

grazie per la pazienza  :Smile: 

----------

## bender86

 *Gremo wrote:*   

> per quanto riguarda tmpfs:
> 
> Leggo che 300mb non sono sufficienti per gcc, 800 per xorg....
> 
> 1) di conseguenza non posso fare un emerge -e world, perchè non ci starebbe in 1gb di ram? ammesso che dia tutta la ram a tmpfs
> ...

 

Devi contare ram+swap *. Quando tmpfs viene smontato, tutto il contenuto viene perso. Comunque la maggior parte dei file temporanei viene cancellata da portage.

EDIT: * La dimensione di tmpfs la imposti tu, ma può utilizzare anche lo swap.

----------

## Gremo

 *bender86 wrote:*   

>  *Gremo wrote:*   per quanto riguarda tmpfs:
> 
> Leggo che 300mb non sono sufficienti per gcc, 800 per xorg....
> 
> 1) di conseguenza non posso fare un emerge -e world, perchè non ci starebbe in 1gb di ram? ammesso che dia tutta la ram a tmpfs
> ...

 

su una cosa penso che ti sbagli, sul fatto che cancella i file temporanei. prova a riemergere qualcosa e guarda in /var/tmp/portage...qualcosa resta sempre, ma una cosa è sprecare hd, un'altra ram..

in ogni caso mi sembra di aver capito che quando si smonta il contenuto viene perso, quindi al riavvio dovrei aver ripulito tutto

----------

## ^Stefano^

 *Gremo wrote:*   

> 
> 
> in ogni caso mi sembra di aver capito che quando si smonta il contenuto viene perso, quindi al riavvio dovrei aver ripulito tutto

 

gli script che girano per compilare in ram smontano ad ogni emerge completato. ora non so dirti se 

- smonta e pulisce anche quando un emerge viene terminato a forza con CTRL+C

- smonta e pulisce se l'emerge fallisce

perchè io non li uso, ma credo di si. ormai, specialmente quello di ferdinando, sono sviluppati per funzionare davvero bene.

EDIT: magari questo post stava meglio in Forum di discussione italiano

----------

## Gremo

 *^Stefano^ wrote:*   

>  *Gremo wrote:*   
> 
> in ogni caso mi sembra di aver capito che quando si smonta il contenuto viene perso, quindi al riavvio dovrei aver ripulito tutto 
> 
> gli script che girano per compilare in ram smontano ad ogni emerge completato. ora non so dirti se 
> ...

 

dove trovo questi script?

----------

## ^Stefano^

https://forums.gentoo.org/viewtopic-t-469501.html  Questo è il fork di Ferdinando

https://forums.gentoo.org/viewtopic-t-340329-postdays-0-postorder-asc-start-0.html  Questo è quello di FonderiaDigitale

----------

## bender86

 *Gremo wrote:*   

> su una cosa penso che ti sbagli, sul fatto che cancella i file temporanei. prova a riemergere qualcosa e guarda in /var/tmp/portage...qualcosa resta sempre, ma una cosa è sprecare hd, un'altra ram..

 Dovrebbe essere ben poca roba rispetto a tutto quello che occupa durante la compilazione.

 *Gremo wrote:*   

> in ogni caso mi sembra di aver capito che quando si smonta il contenuto viene perso, quindi al riavvio dovrei aver ripulito tutto

 Di questo sono sicuro.

----------

## randomaze

 *^Stefano^ wrote:*   

> EDIT: magari questo post stava meglio in Forum di discussione italiano

 

Concordo.

Moved from Forum italiano (Italian) to Forum di discussione italiano.

----------

## silvius

Ho letto un pò di indicazioni sulla compilazione in ram.

Ma voi la utilizzate ?

Se si, di volta in volta controllate se è sufficiente lo spazio tra ram e swap ?

Ci sono controindicazioni ?

Saluto

----------

## lavish

Fatto il merge del thread aperto da silvius

----------

## Cazzantonio

Io ho 1,5 gb di ram (e niente swap), ho messo 1200 mb come dimensione del tmpfs e non ho mai avuto problemi. (con 1000 wine ancora non compilava)

Prima (con 1 gb di ram) usavo 512 mb di tmpfs e compilavo tutto tranne pochi programmi "grossi".

Usando /etc/portage/package.mem puoi impostare a 0 la dimensione del tmpfs per i pochi programmi che non compilano con 512 mb   :Wink: 

----------

## .:deadhead:.

 *Cazzantonio wrote:*   

> Usando /etc/portage/package.mem puoi impostare a 0 la dimensione del tmpfs per i pochi programmi che non compilano con 512 mb  

 Questo se usi bashrc truccati  :Wink:  io faccio semplicemente a mano 

```
mount -t tmpfs -o size=600M none /var/tmp/portage
```

 e poi smonto alla fine. In genere dò 2/300 mb ma con mozilla ho notato che non era suffciente e così ho abbondato. ho 1gb di ram con 512 di swap.

Per i tempi... mah io indicativamente risparmio 5/10 minuti su pacchetti corposi, ma il vero risparmio ce l'hai evitando all'-HD inutili I/O che ne accorcian la vita e aumentan la temperatura

----------

## ^Stefano^

 *^Stefano^ wrote:*   

> https://forums.gentoo.org/viewtopic-t-469501.html  Questo è il fork di Ferdinando
> 
> https://forums.gentoo.org/viewtopic-t-340329-postdays-0-postorder-asc-start-0.html  Questo è quello di FonderiaDigitale

 

io non sono affatto esperto in questo argomento; di questi due link che ho consigliato quale va usato adesso per non avere problemi? tempo fa usai quello di FonderiaDigitale, ma poi ho abbandonato il tutto e sono rimasto indietro. vorrei giusto qualche consiglio da voi che li utilizzate.

----------

## .:deadhead:.

o lo fai a mano come me o usi il progetto nato dalle ceneri di bashrcng di fonderia (ora è rotto e quindi l'hanno forkato)

----------

## ^Stefano^

Tu che lo fai a mano, correggimi se sbaglio, ti limiti a queste operazioni:

A) inserisci in make.conf la riga PORTAGE_TMPFS="/dev/shm"

B) monti /var/tmp/portage come hai scritto nel post sopra prima di ogni emerge

ho detto bene?

----------

## .:deadhead:.

Esatto proprio così

----------

## ^Stefano^

Posso incorrere in problemi nei seguenti casi?

A) termino l'emerge con CTRL+C

B) l'emerge fallisce

C) la ram non basta (se dopo la ram inizia lo swap leggi "la ram e lo swap non bastano")

Finito l'emerge devo smontare io o smonta da solo?

EDIT: ho inserito anche io la riga PORTAGE_TMPFS="/dev/shm" in /etc/make.conf e successivamente ho dato il comando di mount da te indicato.

Non mi sembra che ci siano stati grossi miglioramenti nell'emerge; ma forse ciò è dovuto al fatto che i pkg erano piccoli.

Però ho un paio di dubbi ancora, basta davvero fare ciò? cioè inserisco la riga, monto e poi do emerge $pkg?

finito l'emerge ho dato umount /var/tmp/portage e non ho ricevuto errori. ora se voglio fare un emerge normale devo anche commentare la riga in /etc/make.conf o posso lasciarla?

----------

## GiRa

Io da ieri sto provando tmpfs per portage dato che devo compilare un sistema completo da zero.

Onestamente non trovo boost prestazionali rispetto ai miei dischi da 10000rpm.

Uso AUTOCLEAN="yes" in make.conf per evitare che tra un emersione e l'altra restino schifezze.

----------

## ^Stefano^

Io ho il presentimento che non funzioni proprio...   :Confused: 

Il metodo che ho seguito è quello di .:deadhead:. ma durante la compilazione di cairo, con il cp di una iso da 600mb, gnome e vari servizi; avevo questa situazione:

```
stefano@blueyes ~ $ free -m

             total       used       free     shared    buffers     cached

Mem:          1001        990         10          0         14        720

-/+ buffers/cache:        256        744

Swap:          290          0        289

stefano@blueyes ~ $

```

Il mio sistema è attrezzato con 1gb.

----------

## thewally

 *GiRa wrote:*   

> Onestamente non trovo boost prestazionali rispetto ai miei dischi da 10000rpm.

 

Un jet a reazione non riesce a stargli dietro !!   :Laughing: 

Comunque, non è tanto il boost prestazionale, quanto l'usura del disco.

Durante una compilazione avvengono numerosi I/O, che a lungo andare stressano il disco.

----------

## GiRa

Preferisco stressare i dischi piuttosto che il sottoscritto.

In questi due giorni ho compilato un intero sistema in chroot sul mio pc. Caspita ho avute tante di quelle emersioni fallite per spazio insufficiente da far schifo!

E si che prima 500MB, poi 600MB, poi 750!!! Purtroppo AUTOCLEAN non funziona benissimo ed io ho poca swap vista la quantità esorbitante di ram.

----------

## thewally

 *GiRa wrote:*   

> Caspita ho avute tante di quelle emersioni fallite per spazio insufficiente da far schifo!

 

Scusa, quale script stai usando?

Quello di Ferdinando è abbastanza testato per questa specie di problemi, se non basta lo spazio sconfina direttamente in swap senza lamentarsi   :Wink: 

----------

## Kernel78

Io quando avevo 768 mb di ram avevo cmq messo 2 giga di swap e impostavo la dimensione della partizione tmpfs a 1.8 gb e compilavo tutto quello che mi serviva (openoffice.org e firefox li ho sempre usati nella versione bin).

In questo modo l'usura del disco è drasticamente diminuita rispetto ad una compilazione direttamente su hd.

Se hai poca swap aumentala, non vedo il problema  :Rolling Eyes: 

----------

