[Soci SLIP] come analizzare l'uso delle risosrse di un programma?

Stefano Pirra pirraste a gmail.com
Dom 7 Ott 2018 12:16:54 CEST


Firefox (come anche Chrome, anche se in maniera differente) è sia
multiprocess, sia multithread.
Questo significa che usa processi separati al cui interno girano uno o più
threads. Non entrerò nel dettaglio di "come lo fa", però so che è
un'opzione che si può spegnere.
Nella barra indirizzi digitare:
*about:config*
questo ci apre le configurazioni per smanettoni. Nella barra di ricerca
scrivere:
*browser.tabs.remote.autostart*
che ci trova l'opzione in questione (pessimo nome, lo so). Mettendo il
valore a "false" e riavviando, Firefox ritorna ad essere monoprocesso. Pare
essere utile impostarlo sui vecchi pc, per rendere il browser meno esoso.

Stefano




On Sun, Oct 7, 2018 at 12:04 PM Lucio <lucio a sulweb.org> wrote:

> Il 06/10/18 11:00, Enrico Agliotti ha scritto:
> > Ciao a tutti,
> >
> > Ora mi piacerebbe capire di più come funziona, cosa stanno facendo
> > quelle due istanze, e se, come suppongo c'è un'istanza per ogni tab, a
> > queli tab corrispondono.
> >
> > In sostanza la domanda in oggetto.
>
> Risposta breve: non si può fare, a meno che non esista apposita opzione
> dentro Firefox (non credo esista).
>
> Risposta lunga:
>
> In realtà la domanda in oggetto non è la stessa che hai poi posto nel
> messaggio, perché in oggetto hai parlato di programma, che è un termine
> troppo generico per quel che stai cercando di fare, ma ci è utile per
> capire la differenza.
>
> Un programma è una sequenza di istruzioni ed un insieme di risorse (dati
> statici, costanti). Può essere scritto anche solo su un foglio di carta
> ed è comunque un programma.
>
> Un programma in esecuzione si chiama processo e, oltre alle risorse,
> possiede anche uno stato attuale delle variabili (input, output, stato
> del processo all'interno del kernel).
>
> Un processo contiene uno o più threads, ognuno dei quali esegue una
> parte del programma (tutto il programma se è solo uno), ma ogni thread
> condivide con gli altri threads le stesse risorse e le stesse variabili,
> che sono comuni.
>
> Ora arriviamo alla tua domanda: come analizzare l'uso delle risorse di
> un programma?
>
> Alla luce di quanto detto sopra la domanda posta così non ha senso, un
> programma non usa niente, esiste e basta e magari esiste solo nella
> testa del programmatore o su un suo pezzo di carta.
>
> Modifichiamo la domanda: come analizzare l'uso delle risorse di un
> processo?
>
> La risposta qui è semplice: usa top, htop o altri strumenti che già
> conosci.
>
> Arriviamo poi alla domanda che hai posto nel messaggio: come analizzare
> le risorse di ogni tab?
>
> Probabilmente (quasi certamente) Firefox usa un thread separato per ogni
> tab. Per quanto detto sopra, i threads condividono le risorse del
> processo, ma non sono processi autonomi loro stessi. Eseguono solo una
> parte del codice del programma, non hanno una linea di comando con cui
> sono stati avviati, perché sono stati avviati dal primo thread del
> processo. Sono parte integrante del processo e l'unico modo di sapere
> quale thread fa che cosa è ispezionare le sue variabili con un debugger.
>
> Per esempio, dato che i threads eseguono solo pezzi di programma, non si
> possono terminare senza provocare conseguenze indefinite sul processo.
> Devono essere i threads stessi a terminarsi volontariamente (chiudendo
> la tab), in modo che lascino le risorse condivise in uno stato coerente.
>
> In pratica, se quello che stai cercando non è fornito da una qualche
> opzione di Firefox stesso (e non credo che lo sia), non c'è nulla nel
> sistema operativo (che sia Linux o altri) che ti possa dare le
> informazioni che cerchi, tranne eseguire Firefox in debug all'interno di
> un ambiente di sviluppo.
> _______________________________________________
> Soci mailing list
> Soci a mail.pinerolo.linux.it
> https://liszt.softwareliberopinerolo.org/vecchiamlsoci/
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://mailman.pinerolo.linux.it/pipermail/soci/attachments/20181007/0e4a34cb/attachment.html


Maggiori informazioni sulla lista Soci