Re: risvegliarre un processo dal sonno

Francesco Potortì <[email protected]> Fri, 05 Dec 2025 09:08:59 +0100
Newsgroups gmane.linux.debian.user.italian
Organization ISTI-CNR, via Moruzzi 1, www.isti.cnr.it
Message-ID <[email protected]>
Francesco Potortì:
>> Firefox genera un mare di processi (che Atop chiama Isolated Web C... e
>> Ps chiama semplicemente firefox)

Davide Prina:
>nelle nuove versioni di Firefox vengono isolate le singole schede in modo
>che il crash di una scheda non dovrebbe generare il crash di Firefox,

Infatti credo che quando sveglio Firefox con CONT dopo lo STOP lui generi un processo per ognuna delle molte schede che tengo aperte.  Che cosa poi queste schede debbano fare non so...

>> che mi rallentano enormemente la macchina per qualche minuto.
>
>questo può essere dovuto al fatto che questi processi vengano buttati
>sullo swap e al "risveglio" di firefox le ricarica parzialmente in RAM.

Può essere, ma mi pare curioso, visto che ho abbondante memoria e che lo swap è comunque su nvme, quindi veloce.

>Puoi verificare questo vedendo l'andamento dello swap, magari creando un
>piccolo script che ogni pochi secondi ti salva su un file il risultato
>del comando free.

Lo guardo in tempo reale con top quando firefox si sveglia: free cambia molto poco, ed è ben lontano dal limite:

top - 09:02:37 up 116 days, 18:28,  1 user,  load average: 51.06, 16.62, 6.45
Tasks: 464 total,   3 running, 460 sleeping,   0 stopped,   1 zombie
%Cpu(s): 11.8 us,  4.1 sy,  0.1 ni, 83.3 id,  0.6 wa,  0.0 hi,  0.1 si,  0.0 st 
MiB Mem :  23902.9 total,   9254.7 free,  10125.5 used,   3303.3 buff/cache     
MiB Swap:  28456.0 total,  15457.8 free,  12998.2 used.  13777.4 avail Mem 

>Se è questo, allora puoi dire al sistema di usare meno lo swap con 
>swappiness

Se mi dà ancora problemi ci provo, ma mi pare che lo swap non c'entri.

>> Una possibilità forse sarebbe evitare che usi tutte le cpu, ma non ho
>> mai usato taskset, avete esperienze?
>
>è possibile fare questa cosa, ma vorrebbe dire che Firefox al posto di
>essere usabile dopo 20 secondi, devi attendere magari 2 minuti prima
>di poterlo usare e durante l'uso avresti dei rallentamenti.

In effetti ho risolto il grosso del mio particolare problema sostituendo il comando "firefox" con "taskset --all --cpu-list 0-5 firefox" in maniera da forzarlo a usare solo 6 cpu su 8.  Firefox ci mette comunque diverso tempo a riprendersi, ma il resto del sistema rimane utilizzabile, mentre prima finché Firefox lavorava dovevo aspattare a fare qualunque cosa.

Rimane il mistero del perché tutte le schede di Firefox si debbano mettere a fare qualcosa appena sveglie e perché siano così pesanti sul sistema.

>Quello che puoi fare è usare nice per abbassare la sua priorità di
>esecuzione, facendo in modo che gli altri processi abbiano maggior
>priorità e non siano rallentati da Firefox durante queste fasi
>"esose" di risorse.

Per teoria ed esperienza nice ha senso solo per processi batch, cioè che lavorano molto a lungo in background.  Mai ottenuto alcun risultato per ridurre picchi di utilizzo.  Ma magari un giorno proverò anche questo.