Re: oomkiller

Top Page

Reply to this message
Author: Olivier Allard-Jacquin
Date:  
To: Guilde Mailing list
Subject: Re: oomkiller
    Bonjour

Le 01/10/2017 à 10:02, anne.guilde@??? a écrit :
> Le 30/09/2017 à 23:56, Yves Martin a écrit :
>> On Sat, 2017-09-30 at 18:53 +0200, Frédéric wrote:
>>> Le samedi 30 septembre 2017, Olivier a écrit :
>>>
>>>>     Cela ressemble au mécanisme de oomkiller. C'est un process qui:
>>>> - surveille la quantité de mémoire disponible dans la machine
>>>> - lorsque cette valeur chute trop, il tue le process le plus
>>>> gourmand,
>>>> histoire de préserver la machine...
>>>
>>> Mais c'est génial, ce truc ! Je voulais justement faire quelque chose
>>> comme ça, pour killer chromium qui me bouffe la mémoire comme un
>>> cochon :
>>> dès que je laisse mon ordi tranquille quelques heures (nuit ou
>>> journée),
>>> il swape comme un fou, et impossible de faire quoi que ce soit.
>>>
>>> Comment est-ce que ça se met en place, ce truc ?
>>
>> Christian a répondu... il suffit que le swap soit plein. Ton problème:
>> ton swap est probablement trop grand.


    Attendez, c'est quoi cette histoire ?


    Ce n'est parce qu'un programme est écrit comme une .... et qu'il décide
de prendre toute la ram (afin d'améliorer ses performances, au détriment
du reste de la machine), qu'il doit forcément vous imposer des règles de
configuration de vos machines ?


    C'est au soft de s'adapter à l'OS, pas à l'OS de se plier aux caprices
d'un soft (ou d'une équipe de dev).


    Mauvais browser -> changer browser


    Je n'utilise pas chrome/chrominium, mais il y a pleins d'articles sur
le sujet:


https://www.google.fr/search?hl=fr&as_q=chrome+memory+size+limit&as_epq=&as_oq=&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=y&as_sitesearch=&as_occt=any&safe=images&as_filetype=&as_rights=

https://stackoverflow.com/questions/40507732/limit-chromium-cache-size-in-linux

    Sinon, il semble y avoir une option qui limite la quantité de ram pour
le JS ("max_old_space_size"):


https://www.google.fr/search?q=chrome+set+max_old_space_sizebih=578


>> Personnellement je configure le swap au minimum (souvent 512 MiB), pour
>> justement que le oomkiller fasse son travail vite, au lieu d'avoir un
>> système qui ne répond pas pendant des minutes/heures
>>
>
> Il fait 16 go... par rapport à 512 mo ...
>
> J'en étais restée swap double de la ram.
> 8 go de ram => 16 go de swap
>
> https://doc.ubuntu-fr.org/swap


    Pour les machines Linux "récentes" qui font de l'HIBERNATION
(suspend-on-disk), il convient d'avoir au moins la même quantité de swap
que de RAM, afin que la RAM puisse être sauvée dedans, lorsque tu
hiberne ta machine.


    Donc je dirais RAM = SWAP


> Comment faire pour faire un swap plus petit quand le système est en place?


    En temps que root:
- fermer les applications inutiles qui consomment de la ram (chrome ... :) )


- désactivation temporaire du swap
swapoff -a

- utiliser ton éditeur de partition préféré (fdisk ?), afin de supprimer
et recréer un swap. Il faut simplement se méfier que le SWAP est un type
"82" et non "83" pour une partition ext*.
Note : gparted doit pouvoir le faire graphiquement :

$LANG=C fdisk -l /dev/sdc
[..]
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  2048   8390655   8388608     4G 82 Linux swap / Solaris
                                           ^^ ^^^^^^^^^^^^^^^^^^^^
- reformater le swap
mkswap /dev/sdxx


- retrouver le nouvel UUID du swap :

# blkid |grep swap
/dev/sda1: UUID="2a216c79-bba6-xxxx-bf29-c03933d6725f" TYPE="swap"
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


- Edit le /etc/fstab et le /etc/initramfs-tools/conf.d/resume , afin de
changer l'UUID du swap

UUID=2a216c79-bba6-xxxx-bf29-c03933d6725f  none    swap    sw   0    0
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^          ^^^^
RESUME=UUID=2a216c79-bba6-xxxx-bf29-c03933d6725f
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Prendre en compte le "/etc/initramfs-tools/conf.d/resume" pour le
nouveau démarrage:


update-initramfs -u -k all

- Enfin, ré-activer le swap:
swapon

- Utiliser "free" pour voir la nouvelle taille du swap

    Cordialement,
                            Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!