Canonical propose des correctifs pour accélérer l'activation du mode veille

Les développeurs canoniques ont publié via une liste de diffusion de développement de noyau Linux, un ensemble de correctifs pour l'implémentation de nettoyage opportuniste de la mémoire, qui vise à réduire considérablement le temps en mode veille système.

Optimisation est obtenu en invoquant de manière proactive la libération des structures de mémoire les enfants qui ne contiennent pas d'informations uniques et qui peuvent être restaurés dynamiquement après le retour du mode veille (par exemple, les zones de mémoire anonymes et les caches de plusieurs pages de mémoire)

À propos des patchs

L'idée principale est-ce qu'après avoir supprimé les données inutiles, la taille de l'image mémoire est réduite sauverr avant de passer en mode veille et par conséquent, moins de temps est nécessaire pour écrire et lire à partir d'un support lent.

Par défaut, lors de l'enregistrement d'une image mémoire pour le mode veille, le noyau économise de la mémoire comment ça se passe avec tous les cachesmais il existe une possibilité standard de libérer Structures inutiles simulant des conditions de ressources insuffisantes dans la phase initiale de transition vers le mode veille.

Cette fonctionnalité il peut être activé à l'aide du paramètre "/ sys / power / image_size" et conduit à une réduction notable du temps nécessaire pour passer en mode veille.

Canonical suggère d'ajouter deux paramètres supplémentaires, ce qui permettra la libération des structures inutiles à l'avance afin que la transition réelle vers le mode veille soit terminée aussi rapidement que possible et que le retour du mode veille prenne à peu près le même temps que lorsque le paramètre est appliqué.

Tests et résultats

Test sur un système avec 8 Go de RAM et une partition de swap de 8 Go en utilisant 85% de la mémoire affiché dans les paramètres par défaut (image_size = default) une diminution du temps passer en mode veille de 51.56 à 4.19 secondes lorsque le processus de nettoyage de la mémoire excédentaire a démarré 60 secondes avant de passer en mode veille.

En raison de la réduction de la taille de l'image mémoire enregistrée, le temps de récupération est passé de 26.34 à 5 secondes.

Voici la première tentative de fournir une interface permettant aux tâches de l'espace utilisateur de déclencher une récupération de mémoire opportuniste avant de mettre un système en veille prolongée.

Le rappel de la mémoire à l'avance (par exemple, lorsque le système est inactif) permet
réduisez la taille de l'image d'hibernation et accélérez considérablement l'hibernation et la reprise.

En mode de nettoyage normal pour un excès de mémoire (image_size = 0) a été activé sur le système, le temps de passer en mode veille diminué de 73.22 à 5.36 secondes et le temps de retour du mode veille n'a pas changé (diminué d'une fraction de seconde seulement, de 5.32 à 5.26 secondes).

Le cas d'utilisation typique de cette fonctionnalité est de permettre aux instances cloud à haute priorité de dépasser les instances à faible priorité (par exemple, les instances ponctuelles [1]) en les hibernant.

La récupération de mémoire opportuniste est très efficace dans les instances en hibernation rapide qui allouent une grande quantité de mémoire et restent la plupart du temps inactives la plupart du temps, en utilisant seulement un ensemble de travail minimal.

Utiliser

La méthode proposée peut être demandée dans des situations où il est nécessaire de passer rapidement en mode veille et il est possible d'anticiper la nécessité d'une telle transition à l'avance.

Par exemple, dans les systèmes cloud, les environnements virtuels à faible priorité (environnements ponctuels dans Amazon EC2) peuvent passer de manière dynamique en veille prolongée et libérer de la mémoire occupée à mesure que la consommation des ressources primaires augmente.

Lorsque la charge est réduite dans les paramètres principaux, les environnements à faible priorité reviennent du mode veille. Dans ces conditions, pour maintenir une qualité de service adéquate, il est important de minimiser le temps d'entrée et de sortie du mode veille.

La phase de nettoyage préventif peut commencer lorsqu'un certain niveau de la charge principale est atteint, qui précède le niveau qui conduit au gel des environnements à faible priorité.

source: https://lkml.org


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.