GNU/Linux >> Tutoriels Linux >  >> Linux

Comment limiter l'utilisation de la mémoire par application sous Linux ?

Solution 1 :

'ulimit' est un contrôle 'par application'… par processus en fait. La commande shell ulimit est une commande intégrée du shell définissant la limite pour le processus shell et ses enfants. Mettez la commande 'ulimit' dans le script de démarrage de votre application et la limite sera définie pour cette application uniquement.

Solution 2 :

Sur les distributions basées sur systemd, vous pouvez également utiliser systemd-run (qui utilise indirectement les cgroups) . Par exemple :

systemd-run --scope -p MemoryLimit=1G firefox

Remarque :cela vous demandera un mot de passe, mais l'application sera lancée en tant qu'utilisateur. Ne laissez pas cela vous induire en erreur en pensant que la commande doit être exécutée avec sudo , car cela entraînerait l'exécution de la commande sous root, ce qui n'était guère votre intention.

Si vous ne voulez pas entrer le mot de passe (en effet, pourquoi auriez-vous besoin d'un mot de passe pour limiter la mémoire que vous possédez déjà) , vous pouvez utiliser --user option, mais pour que cela fonctionne, vous aurez besoin de la prise en charge de cgroupsv2, ce qui nécessite actuellement de démarrer avec systemd.unified_cgroup_hierarchy paramètre du noyau.


Linux
  1. Utilisation de la mémoire Linux

  2. Comment vérifier l'utilisation de la mémoire du processus avec la commande Linux pmap

  3. Commande Linux df

  4. Comment trouver l'utilisation de la mémoire utilisateur sous Linux

  5. Comment limiter les commandes utilisateur sous Linux

Comment exécuter une commande / un script Linux Shell en arrière-plan

Comment vérifier l'utilisation de la mémoire sous Linux

Commande gratuite Linux (vérifier l'utilisation de la mémoire)

Comment stocker une commande Linux en tant que variable dans un script shell

Comment utiliser la commande Declare dans Linux Bash Shell

Comment trier la commande supérieure en fonction de l'utilisation de la mémoire