Jump to content
reflex69

[H6][B516][B521] Problème KSM

Recommended Posts

Pour signaler une anomalie dans la dernière version beta 2 (B516) dans laquelle la fonction KSM est activée.

Pour faire simple KSM (Kernel Samepage Merging) est un process (démon nommé ksmd) qui passe son temps à parcourir toute la mémoire RAM à la recherche de parties identiques pour les fusionner (compression par déduplication) afin de gagner un peu de RAM. Cette astuce avait été introduite avec la version Kitkat pour fonctionner sur des mobiles dotés de peu de RAM (512Mo). Concrètement, cette méthode de compression peut faire gagner 50 à 70MB, ce qui peut être utile en cas de faible mémoire mais négligeable dans le cas de notre Honor 6 qui dispose d'une quantité confortable de 3GB.

Vous me direz que c'est toujours bon à prendre. Mais non, car en échange de quelques Mo, on sacrifie des cycles CPU et donc de la batterie. En effet, ce process "ksmd" (bien qu'ayant une priorité plus faible) passe son temps à faire des calculs sur les parties de mémoire qu'il peut fusionner/compresser.

Sauf erreur, cette fonction est désactivée dans la version stable (B370) ce qui est normal.

D'ailleurs il y a plein d'applis sur la Play store qui permettent de désactiver cette verrue (à condition de débloquer root) 

Alors je ne vois aucune raison logique de l'activer maintenant (sauf par erreur ou négligence).

Ce serait dommage de nous forcer à passer root pour pouvoir la désactiver (echo "0" > /sys/kernel/mm/ksm/run)

 

Je peux traduire en anglais si besoin pour les développeurs...

 

Edited by reflex69
  • Like 4

Share this post


Link to post
Share on other sites

Tu l'a vu comment que c'était activé ? (Sans indiscrétion ^^)

Share this post


Link to post
Share on other sites

Tu peux vérifier en tapant en ligne de commande dans un terminal : « ps | grep ksmd » qui doit renvoyer le numéro du process ksmd s’il est en cours d’exécution (chez moi n°853)

 

Ou plus facile, en utilisant un outil graphique de monitoring comme par exemple OS Monitor (sans oublier d’afficher les process systèmes dans les options) :

Ici, on constate que le process ksmd (n°853) se classe 5ème des process ayant le plus consommé de CPU (06 :00) et donc de batterie (téléphone démarré ce matin).

 

Enfin, il existe aussi d’autres outils plus spécialisé comme zram+ qui permettent d’afficher également le gain grâce à cette fonction activée :

 

Donc au final, on consomme de la batterie juste pour gagner 48 Mo en RAM, ce qui représente un gain de seulement 1,6% sur les 3 Go du Honor 6…

 

 

Si @@Honorpouvait demander aux développeurs de désactiver cette option du noyau dans la version finale pour le plus grand bien de nos batteries :)

  • Like 3

Share this post


Link to post
Share on other sites

Et pendant ce temps là les développeurs Honor (y'en a ? :x) cherchent  toujours comment allumer le téléphone.

Edited by Maxixou

Share this post


Link to post
Share on other sites

Pour info la nouvelle version officielle (B521) ne désactive pas l'option KSM qui consomme de la batterie pour rien (voir mes explications).

C'est dommage de forcer à rooter pour pouvoir corriger soi même...

  • Like 3

Share this post


Link to post
Share on other sites

Pas évident de répondre exactement car la fonction KSM est incluse dans le système Android, de même que sa consommation de batterie est affichée dans Android.

Chacun peut vérifier sur son appareil combien consomme la partie Android, ça peut donner une bonne idée sachant que KSM est celui qui consomme le plus en CPU, donc en batterie.

De toute façon, tout ce qu'on peut gagner sur la batterie est bon à prendre, surtout en désactivant une fonction inutile avec 3Go de RAM.

Share this post


Link to post
Share on other sites

Comment désactiver ce machin ? Pour ceux qui l ont désactiver j'aimerais avoir un retour pour voir si le gain est notable ou non

Share this post


Link to post
Share on other sites

C'est une option Android, donc il faut avoir les droits ROOT pour pouvoir désactiver...

C'est pour ça que je me plains depuis le début car je préfère rester stock !

Chaque constructeur est libre de l'activer ou pas, et autant ça pouvait avoir un intérêt de l'activer sur un mobile avec seulement 512Mo de RAM, autant ça n'a aucun intérêt avec 3Go. Je rappelle que ça consomme de la batterie pour faire gagner environ 60Mo (2%) de RAM dans le cas du Honor 6.

Share this post


Link to post
Share on other sites

Ils ne sont sûrement pas au courant chez Honor...... ;-)

Justement, c'est l'intérêt de ce forum de pouvoir partager nos expériences en contact avec Honor pour améliorer notre expérience utilisateur (et acheter plus d'appareils Honor ;) ).

Pour la désactivation c'est très simple, il y a un fichier de contrôle: /sys/kernel/mm/ksm/run

Il faut mettre dans ce fichier "run" la valeur "0" pour désactiver (ou "1" pour activer)

Mais ça nécessite le droit root pour pouvoir le modifier.

J'ai déjà donné l'info dans mon premier post pour les développeurs (ou les utilisateurs qui souhaitent le faire en ligne de commande dans un terminal)

Edited by reflex69
  • Like 1

Share this post


Link to post
Share on other sites

Le partage ne remonte pas vraiment aux hautes instances... Ou alors ce n'est pas pris en compte. Acheter + d'appareils HONOR? Pour ma part, c'est le dernier... :-) C'est pas que ce soit un mauvais téléphone mais pour la même gamme de prix, on peut avoir mieux sans être pris pour des c.... ^^

Edited by eternal59

Share this post


Link to post
Share on other sites

@@reflex69 Merci je testerais ça ce soir après l'avoir root  ! ;)

Si tu as les droits root alors il existe une application pour désactiver cette fonction facilement en mode graphique :

https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor&hl=en

L'appli contient un onglet dédié à la config KSM avec un bouton pour désactiver.

  • Like 1

Share this post


Link to post
Share on other sites

moi c'est desactivé

vais verifier via l'appli

Share this post


Link to post
Share on other sites

Si tu as les droits root alors il existe une application pour désactiver cette fonction facilement en mode graphique :

https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor&hl=en

L'appli contient un onglet dédié à la config KSM avec un bouton pour désactiver.

c'est fait ont verra dans le temps Merci

  • Like 1

Share this post


Link to post
Share on other sites

Merci pour l'info.

Si tu utilises un outil de monitoring (comme OS monitor par exemple) tu peux voir les process qui consomment le plus de CPU et tester en activant et désactivant KSMD.

(il faut juste penser à activer l'affichage des process système)

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.






×
×
  • Create New...