View previous topic :: View next topic |
Author |
Message |
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Sat Sep 09, 2006 9:43 am Post subject: |
|
|
Wow...
Usando compilazione in RAM e ccache i tempi di una seconda compilazione saranno più che dimezzati!!!
In pratica, un guadagno che tende all'infinito!!!
Domanda: devo modificare qualcosa per farli coesistere?
Perchè alla compilazione mi sottolinea il fatto che la directory ccache è fuori RAM... ma deve essere, no?
Inoltre, all'atto di smontare, provando ad esempio a ricompilare portage-bashrc-ng, mi dice:
Code: | rmdir: /var/tmp/portage/portage-bashrc-ng-0.13.1_beta: Directory not empty |
Why that?
Grazie mille... |
|
Back to top |
|
|
socksz Apprentice
Joined: 28 Aug 2006 Posts: 233
|
Posted: Sat Sep 09, 2006 2:27 pm Post subject: |
|
|
skypjack wrote: | Code: | rmdir: /var/tmp/portage/portage-bashrc-ng-0.13.1_beta: Directory not empty |
|
Mah.. quello esce sempre anche a me, con ogni pacchetto, credo sia normale, (rivolto ai piu' esperti) e` normale?
PS: scusate, io non ho mai usato ccache, me lo consigliate?
da come ho capito e' un qualcosa che riduce ulteriormente i tempi di compilazione, giusto?
Ma questa riduzione comporta anche degli svantaggi? Grazie, saluti! |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Sat Sep 09, 2006 2:34 pm Post subject: |
|
|
L'unico svantaggio è spazio su disco (impostabile nel limite massimo) occupato in più...
Ma i vantaggi sono, a mio parere, molto soddisfacenti!!
Te lo consiglio...
PS: Allora, il nostro problema comune, è normale o meno? Qualche esperto ci aiuti!! |
|
Back to top |
|
|
socksz Apprentice
Joined: 28 Aug 2006 Posts: 233
|
Posted: Sat Sep 09, 2006 5:00 pm Post subject: |
|
|
skypjack wrote: | L'unico svantaggio è spazio su disco (impostabile nel limite massimo) occupato in più...
Ma i vantaggi sono, a mio parere, molto soddisfacenti!!
Te lo consiglio...
PS: Allora, il nostro problema comune, è normale o meno? Qualche esperto ci aiuti!! |
Spazio su disco intendi lo spazio occupato per l'installazione di ccache? (che e` una cosa normale)..
intendevo.. col passar del tempo fa qualcosa alla CPU e/o al disco ccache?
Solo una curiosita` |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Sat Sep 09, 2006 10:36 pm Post subject: |
|
|
Con spazio su disco intendo che memorizzando i risultati intermedi di una compilazione essi occupano spazio su disco, appunto...
Una cache, insomma!! |
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Mon Sep 11, 2006 7:19 am Post subject: |
|
|
socksz wrote: | credo sia normale, (rivolto ai piu' esperti) e` normale? |
Normale è una parola grossa, diciamo che è innocuo; c'è da tempo immemore perché è generato da portage e per risolverlo dovrei leggermi il codice di ebuild.sh se non sbaglio. Ho rimandato la soluzione a quando avrò più tempo; poi se qualcuno ci manda una patch tanto meglio
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Tue Sep 12, 2006 5:04 pm Post subject: |
|
|
Domanda:
Compilando kdelibs con 500M si è fermato, senza usare swap o altro... Riempiti 500M in var/tmp/portage per kdelibs, fermo!!
Ho aumentato a 750M poi a 900M e via dicendo...
Ma non c'è un modo per dire al programma: "Bello, se riempi lo spazio RAM dedicato, vai sul disco!!"?
Perchè è frustrante, così, credetemi... |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Tue Sep 12, 2006 5:13 pm Post subject: |
|
|
skypjack wrote: | Domanda:
Compilando kdelibs con 500M si � fermato, senza usare swap o altro... Riempiti 500M in var/tmp/portage per kdelibs, fermo!!
Ho aumentato a 750M poi a 900M e via dicendo...
Ma non c'� un modo per dire al programma: "Bello, se riempi lo spazio RAM dedicato, vai sul disco!!"?
Perch� � frustrante, cos�, credetemi... |
Se la RAM si riempie tmpfs usa la swap direttamente, il problema che hai tu dipende dal fatto che hai impostato un MEMSIZE troppo piccolo, metti di default 900M e stai tranquillo. _________________ Running Fast! |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Sep 12, 2006 8:35 pm Post subject: |
|
|
se tu hai 1 gb di ram e 2 gb di swap puoi impostare anche 2,5 gb per tmpfs ... _________________ 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 |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Wed Sep 13, 2006 8:42 am Post subject: |
|
|
skypjack wrote: | Ho aumentato a 750M poi a 900M e via dicendo... |
900MB per kdelibs?! OMG! Io l'ho sempre compilato in 500MB; cos'è successo nella r1?
skypjack wrote: | Ma non c'è un modo per dire al programma: "Bello, se riempi lo spazio RAM dedicato, vai sul disco!!"? |
Purtroppo no, perché l'allocazione dei files su disco è gestita dal kernel mentre il programma opera a un livello ben più alto; una cosa che avevo pensato era di forzare la compilazione sul disco la prima volta, monitorare l'occupazione di memoria e poi memorizzarla in un log, e quindi analizzare il log per decidere la quantità di spazio da allocare all'emerge successivo. Il problema è che tutto questo rallenta gli emerge (mentre lo scopo del programma sarebbe l'opposto), e comunque non riuscirebbe a gestire incrementi di 400MB, che sono proprio quelli che uno vorrebbe evitare (il tuo caso o quello di gcc-4).
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Wed Sep 13, 2006 9:19 am Post subject: |
|
|
Comunque se a tmpfs si danno 900M di memoria lui non la occupa tutta subito, quindi non vedo il problema. Basta definire come MEMSIZE fisso una dimensione abbastanza alta. _________________ Running Fast! |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Sep 13, 2006 9:42 am Post subject: |
|
|
Luca89 wrote: | Comunque se a tmpfs si danno 900M di memoria lui non la occupa tutta subito, quindi non vedo il problema. Basta definire come MEMSIZE fisso una dimensione abbastanza alta. |
quoto in pieno, io avevo messo molto swap e impostato una dimensione da 1,5 gb in questo modo riuscivo tranquillamente a compilare anche wine ... _________________ 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 |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Sun Sep 17, 2006 3:29 pm Post subject: |
|
|
Domandona: sto facendo girare portage-bashrc-ng su un sistema contenente dati "sensibili".
Quante sono le possibilità di ritrovarmi con un cucchiaino in mano a raccattare i cocci?
Nel senso, fin quanto è testata e sicura la stabilità di questo programmino?
Grazie... |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4790 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sun Sep 17, 2006 7:59 pm Post subject: |
|
|
Code: |
s939 ~ # mount
...
none on /var/tmp/portage/openssl-0.9.8c-r1 type tmpfs (rw,size=1500M,mode=770,gid=250)
none on /var/tmp/portage/wxpython-2.6.3.2 type tmpfs (rw,size=1500M,mode=770,gid=250)
|
come si può immaginare, il mio sistema è prossimo a schiattare.
si tratta del vecchio difetto del programma di fonderia: se un ebuild viene interrotto bruscamente, la ram non viene rilasciata.
non è ancora stata trovata una soluzione per questo?
sarebbe possibile, quantomeno, introdurre un warning, che avvisi l'utente al secondo emerge, della presenza di un mount precedente in /var/tmp/portage, o lo smonti interattivamente ?
oppure si potrebbe aggiungere un'apposita opzione, modificabile nei file di configurazione, che autorizzi portage-bashrc-ng a forzare automaticamente l'umount prima di incominciare il secondo emerge. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sun Sep 17, 2006 8:43 pm Post subject: |
|
|
skypjack wrote: | Domandona: sto facendo girare portage-bashrc-ng su un sistema contenente dati "sensibili".
Quante sono le possibilità di ritrovarmi con un cucchiaino in mano a raccattare i cocci?
Nel senso, fin quanto è testata e sicura la stabilità di questo programmino?
Grazie... |
Definisci dati "sensibili" ...
Se sono le tue foto delle vacanze è accettabile ma se sono dati di carte di credito di migliai di clienti la cosa cambierebbe non poco. _________________ 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 |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4790 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sun Sep 17, 2006 9:03 pm Post subject: |
|
|
skypjack wrote: | Domandona: sto facendo girare portage-bashrc-ng su un sistema contenente dati "sensibili".
|
Che centra?
È un normalissimo file bash (==> human readable) che impartisce ad emerge alcune particolari impostazioni di compilazione.
Se le vuoi definire a mano, fai pure.
ma ricordarti di non impostare mai la variabile PORTAGE_TMPDIR di /etc/make.conf nella tua home directory. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Mon Sep 18, 2006 7:32 am Post subject: |
|
|
cloc3 wrote: | sarebbe possibile, quantomeno, introdurre un warning, che avvisi l'utente al secondo emerge, della presenza di un mount precedente in /var/tmp/portage, o lo smonti interattivamente ?
oppure si potrebbe aggiungere un'apposita opzione, modificabile nei file di configurazione, che autorizzi portage-bashrc-ng a forzare automaticamente l'umount prima di incominciare il secondo emerge. |
Un warning sì, si potrebbe mettere, magari con pausa di 5 secondi per assicurarsi che lo si legga. Il problema della rimozione automatica pone problemi se si emergono due pacchetti contemporaneamente (il secondo cercherebbe di fare le scarpe al primo), e sebbene non inciti gli emerge paralleli, vorrei che il tool continuasse a supportarli. Rendere il tool interattivo non mi piacerebbe, perché sono il primo a lanciare i comandi e andarsene via, e mi girano quando torno e scopro che un programma è in attesa di input da qualche secondo dopo che me ne sono andato.
@skypjack: in una precedente versione era possibile formattarsi l'hard disk creando un ebuild opportuno. Per il momento non c'è nessun bug di questa gravità in giro, ma come sai il batter d'ali di una farfalla in Australia può provocare elezioni anticipate in Italia. Insomma, la risposta è 42: valuta in base alla frequenza dei tuoi backup (se sei superstizioso al tuo oroscopo, se sei religioso a quante buone azioni hai compiuto di recente).
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4790 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Tue Sep 19, 2006 6:24 am Post subject: |
|
|
Ferdinando wrote: | Il problema della rimozione automatica pone problemi se si emergono due pacchetti contemporaneamente |
il problema non è solo per le emersioni contemporanee (che rappresentano una pratica suicida, per la quale il difetto potrebbe rivelarsi una protezione), ma piuttosto per le emersioni stoppate bruscamente (per esempio con ctrl-C). Non mi sono capitate ancora compilazioni fallite spontaneamente.
Per questo motivo, l'introduzione di una opzione configurabile ( TMP_RELEASE ???) sarebbe la cosa migliore che mi piace di più. Quando l'opzione viene selezionata esplicitamente, il programma scarica in automatico il mount precedente. Magari avvisando.
Ferdinando wrote: |
@skypjack: in una precedente versione era possibile formattarsi l'hard disk creando un ebuild opportuno.
|
Mirabolante. Come avevi fatto? _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Tue Sep 19, 2006 7:01 am Post subject: |
|
|
cloc3 wrote: | il problema non è solo per le emersioni contemporanee (che rappresentano una pratica suicida, per la quale il difetto potrebbe rivelarsi una protezione), ma piuttosto per le emersioni stoppate bruscamente (per esempio con ctrl-C). Non mi sono capitate ancora compilazioni fallite spontaneamente. |
Immagino tu sia sul ramo stabile, a capita un bug al mese Sul fatto che sia suicida non sono d'accordo; è da parecchio che non ne faccio ma mi è capitato di voler emergere altre cose mentre aggiornavo openoffice (circa 24ore sul mio vecchio computer, poi sono passato al -bin) e finché portage lo supporta vorrei farlo anch'io. Chiaramente è difficile emergere openoffice in ram, ma l'esempio calzava
cloc3 wrote: | Per questo motivo, l'introduzione di una opzione configurabile ( TMP_RELEASE ???) sarebbe la cosa migliore che mi piace di più. Quando l'opzione viene selezionata esplicitamente, il programma scarica in automatico il mount precedente. Magari avvisando. |
Sì può fare, magari senza impegno; avviso, aspetto 5 secondi, poi provo l'umount, e se non va vuol dire che c'è un emerge in parallelo. Potrei anche usare fuser per vederlo prima; faccio un paio di test e vedo.
cloc3 wrote: | Mirabolante. Come avevi fatto? |
Beh, nel bashrc di Fonderia quando non si riusciva a smontare la dir se ne faceva un "rm -rf"; l'avevo mantenuto, ma nel mio azzerando le opportune variabili il comando poteva essere dato su /.
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4790 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Tue Sep 19, 2006 7:09 am Post subject: |
|
|
Ferdinando wrote: | Sul fatto che sia suicida non sono d'accordo; |
il mio sospetto è che, se dovessero capitare in simultanea le operazioni ' Regenerating /etc/ld.so.cache...', possa accadere di tutto.
e se uno dei due emerge prevede una successione di pacchetti piccoli, la probabilità dell'evento potrebbe risultare significativa.
inoltre, potrebbero insorgere problemi di dipendenze incrociate di blocco che gli emerge paralleli finirebbero inesorabilmente per ignorare.
magari ho torto, ma sul tema predico l'astensione. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
The_Paciugo n00b
Joined: 09 Sep 2006 Posts: 32
|
Posted: Thu Sep 28, 2006 6:43 pm Post subject: |
|
|
Ho seguito la guida in prima pagina.
Come posso capire se effettivamente sta compilando in ram o meno ora? |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4790 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Thu Sep 28, 2006 7:47 pm Post subject: |
|
|
The_Paciugo wrote: | Ho seguito la guida in prima pagina.
Come posso capire se effettivamente sta compilando in ram o meno ora? |
_________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
The_Paciugo n00b
Joined: 09 Sep 2006 Posts: 32
|
Posted: Fri Sep 29, 2006 3:36 pm Post subject: |
|
|
ehm e cosa devo cercare in mount?
ecco cosa l'output mentre sto compilando qualcosa
Code: | /dev/sda7 on / type reiserfs (rw,noatime,notail)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sda5 on /boot type reiserfs (rw,noatime,notail)
/dev/sda8 on /home type reiserfs (rw,noexec,nosuid,nodev,noatime,notail)
/dev/hdc1 on /mnt/dati type vfat (rw,nosuid,nodev)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
|
|
|
Back to top |
|
|
Onip Advocate
Joined: 02 Sep 2004 Posts: 2912 Location: Parma (Italy)
|
Posted: Fri Sep 29, 2006 5:28 pm Post subject: |
|
|
dovresti avere una riga del tipo
Code: | none on /var/tmp/portage/pacchetto-versione/ |
Per attivare la compilazione in ram
Code: | eselect bashrc-ng enable tmpfs |
E poi devi impostare una quantità di memoria di default in /etc/portage/bashrc-ng/bashrc-ng.conf. Io ho
Code: | Hal9000 ~ # grep MEM /etc/portage/bashrc-ng/bashrc-ng.conf
# set the PORTAGE_MEMSIZE var below.
PORTAGE_MEMSIZE=500M
|
Byez _________________ Linux Registered User n. 373835
Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum |
|
Back to top |
|
|
The_Paciugo n00b
Joined: 09 Sep 2006 Posts: 32
|
Posted: Sat Sep 30, 2006 9:44 am Post subject: |
|
|
none on /var/tmp/portage/koffice-libs-1.5.2 type tmpfs (rw,size=1G,mode=770,gid=250
olè ^^ |
|
Back to top |
|
|
|
|
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
|
|