ottima velocità di boot: background dei processi in rc.M
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- pepe.carvalho
- Linux 0.x

- Messaggi: 85
- Iscritto il: sab 5 nov 2005, 9:46
ottima velocità di boot: background dei processi in rc.M
il mio pc faceva il boot del kernel 2.4 (slack 10.2) in poco più di un 1 minuto.
un tempo accettabile, ma in gran parte dedicato ad aspettare che hotplug venga eseguito.
Leggendo un po' su slacky.it e un po' su alt.os.linux.slackware ho provato a mettere in background l'esecuzione di questo processo.
A beneficio dei più inesperti, per fare questo, è necessario mettere mano al file rc.M, racchiudere tra parentesi il comando che fa partire il processo di hotplug, e farlo seguire da &.
Da quello che so, questo trucco si può applicare in pratica a tutti gli script lanciati da rc.M ma *non* a rc.inet1, altrimenti rischiate di avviare rc.inet2 senza che tutte le inizializzazioni necessarie siano state fatte.
Ad es. io ho messo in background crond, pcmcia, cups, ecc ecc.
Risultato: il tempo di boot è di 30 sec, esattamente la metà ;=)
in pratica, accedo alla shell che alcuni processi stanno ancora lavorando in bg, ma questo non pregiudica secondo me in nessun modo la funzionalità del sistema.
***//frammento preso da rc.M
-->inet1 non è mandato in background
# Initialize the networking hardware. If your network driver is a module
# and you haven't loaded it manually, this will be deferred until after
# the hotplug system loads the module below.
if [ -x /etc/rc.d/rc.inet1 ]; then
. /etc/rc.d/rc.inet1
fi
pcmcia è invece avviato in background, così come il successivo inet2
# Initialize the hotplugging subsystem for Cardbus, IEEE1394, PCI, and USB devices:
if [ -x /etc/rc.d/rc.hotplug -a -r /proc/modules ]; then
# Don't run hotplug if 'nohotplug' was given at boot.
if ! grep nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
echo "Activating hardware detection: /etc/rc.d/rc.hotplug start"
#giorgio - backgrounding
(. /etc/rc.d/rc.hotplug start) &
fi
fi
# Start networking daemons:
if [ -x /etc/rc.d/rc.inet2 ]; then
(. /etc/rc.d/rc.inet2)&
fi
un tempo accettabile, ma in gran parte dedicato ad aspettare che hotplug venga eseguito.
Leggendo un po' su slacky.it e un po' su alt.os.linux.slackware ho provato a mettere in background l'esecuzione di questo processo.
A beneficio dei più inesperti, per fare questo, è necessario mettere mano al file rc.M, racchiudere tra parentesi il comando che fa partire il processo di hotplug, e farlo seguire da &.
Da quello che so, questo trucco si può applicare in pratica a tutti gli script lanciati da rc.M ma *non* a rc.inet1, altrimenti rischiate di avviare rc.inet2 senza che tutte le inizializzazioni necessarie siano state fatte.
Ad es. io ho messo in background crond, pcmcia, cups, ecc ecc.
Risultato: il tempo di boot è di 30 sec, esattamente la metà ;=)
in pratica, accedo alla shell che alcuni processi stanno ancora lavorando in bg, ma questo non pregiudica secondo me in nessun modo la funzionalità del sistema.
***//frammento preso da rc.M
-->inet1 non è mandato in background
# Initialize the networking hardware. If your network driver is a module
# and you haven't loaded it manually, this will be deferred until after
# the hotplug system loads the module below.
if [ -x /etc/rc.d/rc.inet1 ]; then
. /etc/rc.d/rc.inet1
fi
pcmcia è invece avviato in background, così come il successivo inet2
# Initialize the hotplugging subsystem for Cardbus, IEEE1394, PCI, and USB devices:
if [ -x /etc/rc.d/rc.hotplug -a -r /proc/modules ]; then
# Don't run hotplug if 'nohotplug' was given at boot.
if ! grep nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
echo "Activating hardware detection: /etc/rc.d/rc.hotplug start"
#giorgio - backgrounding
(. /etc/rc.d/rc.hotplug start) &
fi
fi
# Start networking daemons:
if [ -x /etc/rc.d/rc.inet2 ]; then
(. /etc/rc.d/rc.inet2)&
fi
- krisis
- Linux 4.x

- Messaggi: 1120
- Iscritto il: mar 25 gen 2005, 0:00
- Distribuzione: debian
- Località: Roma
Fare partire un processo in bg libera il terminale e permette di iniziare nuovi task.
per esemio
Come vedi amsn viene eseguito , viene riportato il pid ed il terminale è d inuovo disponibile , se non lo avessi mandato in bg quel terminale sarebbe rimasto occupato fino alla fine dell'esecuzione del programma.
Mandare in bg processi all'avvio fa risparimare tempo.
per esemio
Codice: Seleziona tutto
bash-3.00$ amsn &
[1] 3784
bash-3.00$
Mandare in bg processi all'avvio fa risparimare tempo.
fico.....krisis ha scritto:Fare partire un processo in bg libera il terminale e permette di iniziare nuovi task.
per esemioCome vedi amsn viene eseguito , viene riportato il pid ed il terminale è d inuovo disponibile , se non lo avessi mandato in bg quel terminale sarebbe rimasto occupato fino alla fine dell'esecuzione del programma.Codice: Seleziona tutto
bash-3.00$ amsn & [1] 3784 bash-3.00$
Mandare in bg processi all'avvio fa risparimare tempo.
adesso si che tutto inizia a gustarmi.....!!!
- elettronicha
- Master

- Messaggi: 1712
- Iscritto il: mer 13 apr 2005, 0:00
- Località: Torino
- Contatta:
- darkside04
- Linux 2.x

- Messaggi: 432
- Iscritto il: mar 23 nov 2004, 0:00
- Località: roma
- pepe.carvalho
- Linux 0.x

- Messaggi: 85
- Iscritto il: sab 5 nov 2005, 9:46
ho scritto chiaramente nel post che mi sono ispirato a quanto letto qui e sul Ng inglese, quindi i commenti con sufficienza del tipo "nulla di nuovo" non mi sembrano molto azzeccati.
mica ho spacciato nulla per un mio personale hack.
comunque x rispondere a darkside, sì la & è proprio quello che ti serve per mettere in bg i processi. la parentesi invece è facoltativa.
La & non la metti alla fine dello script, ma alla fine delle righe in cui ci vengono chiamati gli script che vuoi backgroundare.
comunque nel mio post iniziale ci sono dei frammenti di esempio
mica ho spacciato nulla per un mio personale hack.
comunque x rispondere a darkside, sì la & è proprio quello che ti serve per mettere in bg i processi. la parentesi invece è facoltativa.
La & non la metti alla fine dello script, ma alla fine delle righe in cui ci vengono chiamati gli script che vuoi backgroundare.
comunque nel mio post iniziale ci sono dei frammenti di esempio
- absinthe
- Iper Master

- Messaggi: 2354
- Iscritto il: dom 15 mag 2005, 0:00
- Nome Cognome: Matteo Nunziati
- Slackware: 12.1 - defunct
- Kernel: 2.6.32-5-amd64
- Desktop: gnome
- Distribuzione: debian squeeze
- Località: Prato
- Contatta:
dipende da quanto ci mettono i processi a chiudere le operazioni sul pc... ad esempio io ho un script che carica il governor dell'acpi all'avvio: ci mette una frazione di secondo: se lo butto in bg non ci guadagno niente.darkside_04 ha scritto:ho mandato in bkg i processi però il tempo in accesso è uguale 40 sec. senza bkg 40 sec. con i processi in bkg (tempi cronometrati), è necessario mettere & alla fine dello script vero??
in pratica mettere in bg significa parallelizzare i processi: quello che guadagni in velocità di passaggio da un processo ad un altro lo perdi in tempo di esecuzione del processo stesso (la potenza ella cpu è "partizionata" su più operazioni).
detto in poche parole (visto che poi non me ne intendo) a te il bg magari ti fa una pippa... visto che il bootstrap fino all'accesso è ridotto a 40 secondi il margine di guadagno probabilmente è minimo
M.
-
sunreal
- Master

- Messaggi: 1599
- Iscritto il: dom 10 apr 2005, 0:00
- Slackware: 14.1
- Desktop: kde
- Località: P.P.P.
Io ho messo la & dopo . /etc/rc.d/rc.inet1 , ed effettivamente all'avvio il caricamento del sistema continua senza fermarsi a "pensare", visto che c' ero ho fatto anche un modifica suggerita in un vecchio how-to da un certo Bl4ck0ut, dio lo possa avere i gloria, è grazia a lui che alla prima installazione di slack non ho mandato tutti a cag....., comunque nel suo how-to diceva di commentare, nello stesso file, le righe di
Update the all shared library links
e anche questo funziona, prima ci volevano 15/20 secondi per passare questo scoglio, cosa dite è ancora valido, l'how-to è un po datato, oppure ci sono delle controindicazioni?
ciao.
Update the all shared library links
e anche questo funziona, prima ci volevano 15/20 secondi per passare questo scoglio, cosa dite è ancora valido, l'how-to è un po datato, oppure ci sono delle controindicazioni?
ciao.
- pepe.carvalho
- Linux 0.x

- Messaggi: 85
- Iscritto il: sab 5 nov 2005, 9:46
questa e' una cosa un po' diversa: in pratica quando slack fa il boot, aggiorna tutti i link delle librerie (/sbin/ldconfig) e questo prende tempo.sunreal ha scritto: di commentare, nello stesso file, le righe di
Update the all shared library links
e anche questo funziona, prima ci volevano 15/20 secondi per passare questo scoglio, cosa dite è ancora valido, l'how-to è un po datato, oppure ci sono delle controindicazioni?
ciao.
Siccome nel 95% delle volte non ci sono modifiche nella configurazione delle librerie, e' anche inutile la maggior parte delle volte.
Anch'io ho commentato questa istruzione.
Ricordati che in rari casi (se ad. es. tenti di fare partire un'applicazione, e questa ti da' un errore di missing libraries per delle librerie che invece sono installaate) potresti avere bisogno comunque di dare il comando a mano.
- legionario
- Linux 3.x

- Messaggi: 603
- Iscritto il: mer 8 dic 2004, 0:00
- Località: Bergamo - Roma