Aller au contenu

Gestion RAM sous Android Honor 6


Recommended Posts

Hello à tous :)

Après mon premier message de présentation, passons aux choses sérieuses à savoir notre super Honor 6 dont j'ai récemment fait l'acquisition.

Après mon dernier smartphone avec seulement 1GB que j'avais rooté pour essayer d'optimiser la gestion de mémoire plutôt limitée (ZRAM, LMK, paramètres kernel...) me voici donc avec un appareil disposant d'une mémoire confortable de 3GB.

Ce qui m'amène à cette question :

Pourquoi est ce que le task manager d'Android continue à killer des process alors qu'il reste encore plus de 1GB libre ?

Ca parait contre productif pour l'OS de passer son temps à tuer et redémarrer des applications alors qu'il reste autant de mémoire libre (conso CPU, batterie...)

Pour info je suis stock 4.4.2 B370 et non rooté en attendant la prochaine mise à jour L.

Est ce que quelqu'un connaitrait les valeurs minfree paramétrées par défaut pour le Honor 6 s'il vous plait ? (nécessite root)

Pour le moment j'ai vu qu'il n'y avait pas de swap compressé (zram) ce qui est une bonne chose et je n'ai pas non plus trouvé de process KSMD donc pas de déduplication de pages identiques, ce qui est également une bonne chose pour épargner le CPU et donc la batterie.

Si vous avez plus d'infos pour comprendre pourquoi le task manager d'Android est aussi agressif pour killer les process malgré la confortable quantité de RAM je suis préneur   :)

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Je trouve ca assez foireux mais en fait pour éviter ce genre kill à la volée il faut que tu protéges tes applications.

Pour faire cela il faut aller dans gestion de la.batterie et ensuite application autorisé à rester ouverte en veille. En faisant cela l'application ne sera pas tué quoi qu'il arrive. Cependant elle bouffe de la batterie quand ton téléphone est en veille. Pas génial génial

Lien vers le commentaire
Partager sur d’autres sites

Merci j'avais déjà vu cette option mais elle ne "protège" pas une application en cours de fonctionnement (donc avec écran allumé).

J'ai fait le test simple avec le petit programme "Fill RAM memory" qui comme son nom l'indique remplie la mémoire.

Chez moi quand il ne reste 'plus que' 720MB de libre alors cette appli qui est en cours d'exécution au premier plan (donc la plus haute priorité) est tuée automatiquement peu importe qu'elle soit protégée ou pas. Imaginez un programme important qui disparait sous vos yeux alors que vous travaillez dessus, surtout en sachant qu'il reste encore autant de mémoire libre !

C'est pourquoi je suis curieux de connaitre les valeurs minfree du Low Memory Killer dans le cas du Honor 6...

Modifié par reflex69
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Bienvenue @@reflex69 .

 

Tu as l'air d'être techniquement plus pointu que beaucoup d'entre nous ;-)

 

Si tu peux nous indiquer comment récupérer cette valeur, je pourrais te la donner ;-)

Modifié par Cseb95
Lien vers le commentaire
Partager sur d’autres sites

Hello Cseb95 :)

S'intéresser à la technique ça peut être utile pour mieux comprendre et améliorer l'usage de nos appareils.

Android est basé sur Linux avec quelques ajustements fait par Google pour l'adapter à l'usage mobile.

Parmi ces différences il y a la philosophie de la gestion de la RAM. En effet, sous Android on jongle rapidement entre les applications (contacts, calendrier, photos...) et pour optimiser ces basculements il faut les conserver en mémoire. Pour faire simple plus la RAM est exploitée et mieux c'est. Car ce serait plus consommateur en CPU (et donc batterie) de démarrer et arrêter chaque application pour libérer la mémoire (comme c'est fait sous Windows par exemple) en plus d'être plus lent.

Donc toute les applications qu'on utilise couramment doivent rester en mémoire RAM jusqu'à ce qu'il n'y ait plus assez de mémoire pour une nouvelle appli qui se lance. Et c'est là qu'intervient le module "Low Memory Killer" qui tue les process (selon un ordre de priorité) pour libérer la mémoire et sortir de cette situation de 'Out Of Memory'.

Mais j'ai l'impression que sur Honor 6 le paramétrage du module LMK est trop agressif avec autant de RAM dispo (du coup on n'exploite jamais entièrement toute la RAM).

Plus concrètement, pour voir ces valeurs (sur un mobile rooté) on peut utiliser une appli du playstore qui s'appelle "Kernel Adiutor" et qui s'appuie sur la boite à outils "BusyBox" qu'il faudra également installer (et qu'on pourra désinstaller après si plus besoin).

Après avoir lancé Kernel Adiutor (et accordé root) il faut aller voir dans le menu "Low Memory Killer" et simplement faire une copie d'écran des 6 valeurs prédéfinies par défaut pour les minfree (dès que le minfree est atteint alors la catégorie des process correspondants sont tués).

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Super ! Merci pour cette copie d'écran et ta réactivité :)

D'après ces chiffres, le "tueur" est activé quand il ne reste plus que 120Mo de libre pour libérer la mémoire des applications vides (EMPTY_APP).

Pour info ces app vides sont comme des zombies qui ne sont plus en cours d'exécution mais qui restent en mémoire en attendant que l'utilisateur les réactive (par exemple une lecture vidéo mise en attente pour passer un coup de fil). Ca favorise la vitesse du multitasking en gardant en mémoire toutes les applis même ceux qui ne sont plus en cours d'utilisation au lieu de les arrêter/redémarrer à chaque utilisation (pourquoi s'en priver si on a assez de mémoire).

Dans le cas présent, les valeurs sont très bien ajustées donc pas besoin de les modifier :)

Alors le problème du "tueur trop agressif" peut venir du task manager interne à Android qui lui aussi peut terminer des process sans attendre d'atteindre la limite de la mémoire qui active le LMK.

Mais le fonctionnement du task manager d'Android est plus compliqué car il gère la liste des process selon différents critères de priorités liées à l'historique de chaque process...

Du coup j'essaye de comprendre pourquoi mon process (en cours d'exécution au premier plan) a été tué sans pitié alors qu'il restait encore de la mémoire libre <_<

Ca me démange de passer root pour voir ça de plus près :P

Modifié par reflex69
  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

Si tu as besoin de plus d'info pas de souci.

 

passer root avec la 3.0, t'obligera à une remise à zéro du H6 avant la màj 3.1.

 

d'expérience avec la Beta, si le telephone est rooté, il vaut mieux reflasher le ROM 3.0 complète avant de faire la mise à jour sous peine de problèmes.

Modifié par Cseb95
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...