Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/02/2018, à 13:40

uboops

[Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Bonjour,

Mon Firefox (58.0.2 x64) ou Chromium étant devenu trop gourmand à mes yeux en mémoire et swap disque, j'ai trouvé sur le net une solution afin de le mettre au régime, sous mon système ubuntu 16.04LTS via systemd. (les accès disk du swap n'agaçaient, j'ai souvent plusieurs utilisateurs sur le pc en simultané, zram dans le kernel linux ça améliorait un peu les choses mais pas assez pour moi).
Avec ce firefox.service dans /etc/systemd/user/ mon PC, cpu,hdd retrouve enfin un peu de sérénité.

Si quelqu'un a d'autres options/optimisations/remarques intéressantes, je suis preneur...
Pour l'instant je suis en cours d'expérimentation pour voir dans le temps

Firefox and cgroups solution _ /etc/systemd

Créer un fichier #gedit firefox.service

# firefox.service 
# Firefox and cgroups solution _ /etc/systemd
#

[Unit]
Description=Firefox web browser
[Service]
Environment=DISPLAY=:0
ExecStart=/usr/bin/firefox
MemoryAccounting=true
MemoryLimit=512M
# CPUQuota isn't available in systemd 208 (Fedora 20).
#CPUAccounting=true
#CPUQuota=25%
LimitNPROC=1

Puis:
sudo mv firefox.service /etc/systemd/user
systemctl --user start firefox
#verification:
systemd-cgtop
# et 
ps -o slice,vsize,rss,%mem -C firefox

---------
Idem pour chromium-browser
chromium-browser.service:

# chromium-browser.service 
# chromium-browser and cgroups solution _ /etc/systemd
#

[Unit]
Description=chromium-browser web browser
[Service]
Environment=DISPLAY=:0
ExecStart=/usr/bin/chromium-browser
MemoryAccounting=true
MemoryLimit=512M
# CPUQuota isn't available in systemd 208 (Fedora 20).
#CPUAccounting=true
#CPUQuota=25%
LimitNPROC=1

-------------
Il existe aussi une solution avec ulimit, mais bof ...  j'ai pas testé.
ulimit -v 128k
command
ulimit -v unlimited

Dernière modification par uboops (Le 15/02/2018, à 14:53)


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#2 Le 15/02/2018, à 13:45

LukePerp

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Je ne suis pas certain de comprendre tes modifs. Peux tu nous expliquer en français en quoi ces modifs améliore la situation ? Quelles sont les différences avant/après ?


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#3 Le 15/02/2018, à 13:47

uboops

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

LukePerp a écrit :

Je ne suis pas certain de comprendre tes modifs. Peux tu nous expliquer en français en quoi ces modifs améliore la situation ? Quelles sont les différences avant/après ?

Ben ça limite la consommation de mémoire (donne un quota maxi, 512MO ici)
... Ca laisse plus de ressources système pour d'autre applications et ça n'entrave pas jusque là le fonctionnement de firefox .

Dernière modification par uboops (Le 15/02/2018, à 13:52)


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#4 Le 15/02/2018, à 13:52

Ubuntu1988

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Faudrait voir la configuration de la machine et les extensions installées, car depuis Firefox 57, j'ai pas d'usage excessif de la ram. D'ailleurs, un navigateur fait partie de ces applications qui s'étale selon la ram disponible, rien de nouveau.


J'ai perdu ! :(

Hors ligne

#5 Le 15/02/2018, à 13:59

uboops

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Ubuntu1988 a écrit :

Faudrait voir la configuration de la machine et les extensions installées, car depuis Firefox 57, j'ai pas d'usage excessif de la ram. D'ailleurs, un navigateur fait partie de ces applications qui s'étale selon la ram disponible, rien de nouveau.

Exact le mieux c'est de ne pas avoir trop d'extensions firefox installées, mais je n'avais pas envie d'en enlever certaines. Ca me fait ça depuis les 3 ou 4 dernières versions de firefox, mais comme je change de noyau régulièrement, c'est peut-être ça aussi. Mais en tout cas ça à l'air de fonctionner jusque là avec la modif. via systemd
Chez moi, c'est vrai c'est assez customisé, avec un kernel perso. optimisé, ça vient peut-être aussi de là?
cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.15.2-x64-localmodconfig-01.efi ...

un navigateur fait partie de ces applications qui s'étale selon la ram disponible, rien de nouveau.

Oui mais avant il n'allait pas chatouiller ma SWAP disque aussi souvent ;-). Et c'est pas que pour firefox, chomium idem (pour info j'ai 6GB de RAM- -Processor: 4x Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz)
... A mon avis, ça vient aussi des sites web distants, et leurs garnitures en sons, images, vidéos, pubs grandissantes d'années en années, html5 and Co de plus en plus gourmand en mémoire et cache ? ? (pas sur le site ubuntu.fr bien sûr)

... Du coup, je partage l'astuce, au cas où

Merci pour les retours, je mets un [Résolu] .

Dernière modification par uboops (Le 15/02/2018, à 14:51)


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#6 Le 15/02/2018, à 16:33

nam1962

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Plus simple :
- régler la swappiness

echo vm.swappiness=5 | sudo tee /etc/sysctl.d/99-sysctl.conf
echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-sysctl.conf
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf

et si vraiment tu veux limiter FF à 512Mo :

ulimit -Sv 512000 && firefox

Mais limiter un process est toujours un peu ballot.

Dernière modification par nam1962 (Le 15/02/2018, à 16:34)


[ Modéré ]

Hors ligne

#7 Le 15/02/2018, à 18:08

uboops

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Bonsoir nam1962.

Avec zram, il est apparemment conseillé de laisser 60 par défaut voir même 100 apparemment (j'ai laissé à 60 pour l'instant).
sysctl vm.swappiness
#vm.swappiness = 60

cat /proc/swaps 
Filename				Type		Size	Used	Priority
/dev/sda6                               partition	9215996	0	-2
/dev/zram0                              partition	754360	256	5
/dev/zram1                              partition	754360	256	5
/dev/zram2                              partition	754360	256	5
/dev/zram3                              partition	754360	0	5

avec zram:
http://bilinux.com/quelle-est-la-valeur … -zram.html

https://www.forum-francophone-linuxmint … f=11&t=502
...
vm.swappiness = 60 La valeur par défaut.
vm.swappiness = 100 Le noyau va maximiser l'utilisation du swap.

Sinon ulimit ne m'inspire pas trop car obsolète:
(dans man ulimit: DESCRIPTION       Warning:  This routine is obsolete.  Use getrlimit(2), setrlimit(2), and sysconf(3) instead.  For the shell command ulimit(),       see bash(1). )

ulimit -Sv 512000 && firefox

... et il y a aussi les "Web Content" qui mangent des ressources. Ils faut je les surveille d'un peu plus près quand j'aurais le temps et l'envie de comprendre de plus près ;-)

top -o %MEM
 6199 usr1   20   0 9951968 587912 145180 S   1,7  9,7   2:20.21 firefox                                             
 7519 usr1   20   0 2381504 488608 137876 S   1,0  8,1   0:41.60 Web Content                                         
 7631 usr1   20   0 2340312 444212 124340 S  31,7  7,4   3:48.61 Web Content                                         
 7481 usr1   20   0 2312820 418340 116776 S   2,3  6,9   0:20.96 Web Content                                         
 6255 usr1   20   0 2247080 362472 119004 S   0,3  6,0   0:20.05 Web Content

Mais limiter un process est toujours un peu ballot.

Si on est limité en ressources mémoire, avec plusieurs sessions users, c'est utile je trouve.

Merci pour les info.

Dernière modification par uboops (Le 15/02/2018, à 18:18)


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#8 Le 15/02/2018, à 19:01

nam1962

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Ah, ouiche, j'avais zappé zram : après l'avoir utilisé dans tous types de configurations (ordinosaures avec RAM rikiki, grosses bestiasses sur RAMées) j'en au conclu que ça me ralentissait partout.
Donc viré et swappiness réglée à 5 voire 1 (sous Linux il FAUT utiliser le max de RAM)

Sinon, tu es sous Mint ?

Pour ulimit, il n'est pas annoncé obsolète sur ma Manjaro, mais sinon tu peux regarder du côté de nice ou au pire de cpulimit

Dernière modification par nam1962 (Le 15/02/2018, à 19:06)


[ Modéré ]

Hors ligne

#9 Le 15/02/2018, à 19:11

uboops

Re : [Résolu] Navigateurs Web, trop gourmand en RAM et SWAP à l'usage

Je suis sur Ubuntu 16.04LTS avec un noyau linux vanilla presque à jour.
lsb_release -c
Codename:    xenial
cat /proc/version
Linux version 4.15.2-x64-localmodconfig-01.efi (usr1@XEON) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.6))
https://www.kernel.org/
... Sinon je trouve zram assez efficace sous mon système, si le cpu est costaud, ram faible et pas d'utilisation de swap disk (bien qu'il y a des nouvelles options (non testées) dans le kernel 4.15 pour zram).
Plus mon PC est fainéant, et paisible, plus ça me plaît, nice est déjà utilisé indirectement via zram-priority  (oui sous linux il faut utiliser la ram au maxi) ;-)
Re-Merci

________________
Edit 1: Après quelques recherches, j'ai opté finalement, et pour l'instant, pour la solution firejail (qui peut gérer l'utilisation cpu et ~ à peu près la mem ram aussi, et confiner bien d'autre choses) tout en gardant zram.

Firejail est "bac-à-sable" pour Linux qui permet de lancer n'importe quel logiciel dans une sandbox. C'est-à-dire un environnement hermétique (comme la solution: cgroups solution _ /etc/systemd plus haut)  dans lequel un logiciel pourra fonctionner, peu importe son type (en ligne de commande, graphique, sessions utilisateur...etc.), sans affecter votre système
http://www.easy-pc.org/2016/03/firejail … buntu.html

 firejail --version
firejail version 0.9.52
 par contre je n'utilise pas firecfg en automatique(v0.9.52),
 il me bloque trop de chose apparemment et altère mon système (surtout X11),
 je gère/bloque pour quelques softs, dont firefox, chromium, claws-mal, etc.. et en fonction des utilisateurs)
firecfg --help
firecfg - version 0.9.52

Dernière modification par uboops (Le 17/02/2018, à 13:35)


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne