Processus "IRQ / 288-WCD9XXX" Draining Batterine, comment l'arrêter? -- battery domaine et battery-life domaine et processes domaine et services domain android en relation problème

Process “irq/288-wcd9xxx” draining battery, how to stop it?



1
vote

problème

français

J'utilise un fairphone 2 avec Open Op OS Fairphone, sous Android 7, (numéro de construction: fp2_sibon-userdebug 7.1.2 19.11.2 sibon-24df0be9 ), à jour. Ma batterie perd systématiquement 50% à 90% pendant une nuit et après avoir essayé toutes sortes de choses à l'arrêter, mon frère vérifié dans un terminal (à l'aide de Termux) avec la commande 9988777661 quels processus utilisaient la CPU . Un processus nommé irq/288-wcd9xxx utilise 15-20% de la CPU de manière permanente, ce qui pourrait expliquer pourquoi ma batterie meurt simplement en 12 heures. Voici une capture d'écran de ce que je reçois.

Capture d'écran Top Commande

comme kill ou 9988777664 n'a absolument aucun effet sur celui-ci (il semble fonctionner lors de l'exécution de la commande, mais le processus est toujours là après), est-ce que quelqu'un a-t-il idée de ce que c'est et comment le tuer, ou l'arrêter?

EDIT:

Merci Irfan Latif pour votre réponse détaillée, mon frère et moi commençais à regarder dans ce moment-là, et pour le moment, pas beaucoup d'amélioration:

La commande grep -rI $(readlink /proc/$(pgrep -f irq/288-wcd9xxx)/exe) /*/etc/init/ /init.*.rc ne donne aucune sortie et PPID est 2, de sorte que vous pensiez être un fil de noyau.
(Nous avons toujours consulté la liste 9988777666 audiod juste pour voir, mais cela n'a rien changé.)

Comme ce téléphone est un fairphone (téléphone modulaire), nous pouvons supprimer le matériel suspect et redémarrer pour voir si cela change quelque chose (suggestion par ce filetage du fairphone I Publié également, disant déjà que c'est un "processus de noyau", hadn ' t compris les implications: C'est des interruptions matérielles provenant de le codec audio ).
Mais le retrait du matériel ne semblait rien changer non plus, peut-être que l'échange de travail fonctionnera (mon frère a le même téléphone - avec une autre version Android, nous allons essayer la prochaine fois que nous nous rencontrerons), mais à ce stade, nous en doutons.

Enfin, nous essaierons bientôt vos suggestions pour contrôler l'utilisation de la CPU du processus, peut-être que ce sera une solution temporaire, mais cela semble maintenant que mon frère ait besoin d'une réinstallation complète du système, à partir du moment où nous l'avons fait L'installation (l'installation du système d'exploitation Open Standard Fairphone Open), la batterie a toujours semblé être une vidange excessive.

P.s. Un autre processus, irq/195-ngd_sli , semble manger aussi bien 5 à 7% de manière permanente. Nous n'avions pas payé beaucoup d'attention à cela, mais cela semble maintenant aussi anormal; Nous allons creuser cela aussi.

langue Anglaise

I'm using a Fairphone 2 with Fairphone open OS, under Android 7, (build-number: fp2_sibon-userdebug 7.1.2 19.11.2 sibon-24df0be9), up to date. My battery loses systematically 50% to 90% overnight, and after having tried all sorts of things to stop it, my brother checked in a terminal (using Termux) with the top command which processes were using the CPU. A process named irq/288-wcd9xxx uses 15-20% of the CPU permanently, which could explain why my battery simply dies in 12 hours. Here's a screenshot of what I get.

Screenshot top command

As kill or kill -9 has absolutely no effect on it (it seems to work when running the command, but the process is still there afterwards), does anyone have any idea about what it is, and how to kill it, or stop it?

EDIT:

Thank you Irfan Latif for your detailed answer, my brother and me started having a look into this, and for the moment, not much improvement:

The command grep -rI $(readlink /proc/$(pgrep -f irq/288-wcd9xxx)/exe) /*/etc/init/ /init.*.rc indeed doesn't yield any output, and ppid is 2, so as you thought, it appears to be a kernel thread.
(We still had a look at the getprop | grep init.svc. list, and tried stopping audiod just to see, but it didn't change anything.)

As this phone is a Fairphone (modular phone), we can remove the suspect hardware and reboot to see if it changes anything (suggestion by this fairphone thread I posted too, actually already saying it's a "kernel process", hadn't understood the implications: It's hardware interrupts coming from the audio codec).
But removing hardware didn't appear to change anything either, maybe swapping will work (my brother has the same phone xe2x80x92with a different android versionxe2x80x92, we'll try next time we meet), but at this stage we doubt it.

Last, we will try soon your suggestions to control the CPU usage of the process, maybe it will be a temporary fix, but this now seems to my brother to need a full system re-installation, as from the moment we did the installation (the standard fairphone open OS install), the battery always appeared to be excessively draining.

P.S. Another process, irq/195-ngd_sli, seems to be eating up as well 5 to 7% permanently. We hadn't paid much attention to it, but it seems now just as abnormal; we'll dig this too.

           

Liste de réponses

1
 
vote

irq semble quelque chose à propos de Interruptions matérielles et wcd9xxx est une série de codecs audio AQSTIC QUALCOMM. Donc, apparemment 9988777662 est en cours d'exécution pour prendre en charge la fonctionnalité audio sur votre appareil. L'exécutable doit être une blob binaire à la source fermée, il n'ya donc rien que vous puissiez faire pour le réparer, à l'exception (s'il est déjà fixé par quelqu'un ou) à moderniser / déclasser la ROM ou à arrêter le service.

comme kill ou 9988777664 n'a absolument aucun effet sur celui-ci (il semble fonctionner lors de l'exécution de la commande, mais le processus est toujours là après), est-ce que quelqu'un a-t-il idée de ce que c'est et comment le tuer, ou l'arrêter?

Le processus doit être exécuté sous forme de service natif défini par Matériel / SOC fournisseur dans certains 9988777665 'S .rc fichier. Il restera donc sur le redémarrage s'il est tué. Afin de mettre correctement le service, vous devez trouver son nom. Commencez à obtenir un chemin exécutable de PID, puis trouvez le service en effectuant une recherche via tout .rc fichiers:

~# grep -rI $(readlink /proc/$(pgrep -f irq/288-wcd9xxx)/exe) /*/etc/init/ /init.*.rc

Vous pouvez confirmer le même nom de service en regardant running Statut dans wcd9xxx0 commande. Pour arrêter le service, utilisez l'une de ces commandes:

wcd9xxx1

Ceci doit être répété sur chaque redémarrage. Ou vous pouvez modifier le fichier associé 99887776612 pour supprimer le service.

S'il en résulte quelque chose qui ne fonctionne pas, une autre possibilité est d'essayer de contrôler son utilisation de la CPU en appliquant une limitation parlementaire. wcd9xxx3 (si le noyau prend en charge).

EDIT:

Je viens de remarquer qu'un nom de fichier ne peut pas avoir de barre oblique ( wcd9xxx4 ). Donc wcd9xxx5 doit être un fil de noyau pour la manipulation d'interruption. Ce n'est pas évident mais vous pouvez vérifier son parent pid ( 99887776616 doit être 99887776617 ) et non pas d'allocation de mémoire ( wcd9xxx8 ) indique que ce n'est pas un processus d'espace utilisateur. Donc, le problème est avec votre matériel audio ou votre pilote in-kernel (voir Cette réponse ). Dans ce dernier cas, un noyau mis à jour de OEM résoudrait le problème.

Une solution de contournement peut être de contrôler l'utilisation de la CPU du processus en temps réel en utilisant wcd9xxx9 : irq/288-wcd9xxx0 ou irq/288-wcd9xxx1 ou 99887776622 ou irq/288-wcd9xxx3 (si le noyau prend en charge): irq/288-wcd9xxx4 ou irq/288-wcd9xxx5 . < / p>

 

irq looks something about hardware interrupts and wcd9xxx is a series of Qualcomm Aqstic audio codecs. So apparently irq/288-wcd9xxx process is running to support audio functionality on your device. The executable must be closed source binary blob, so there's nothing you can do to fix it, except (if already fixed by somebody, or) upgrading / downgrading the ROM or stopping the service.

As kill or kill -9 has absolutely no effect on it (it seems to work when running the command, but the process is still there afterwards), does anyone have any idea about what it is, and how to kill it, or stop it?

The process must be running as a native service defined by hardware / SoC vendor in some init's .rc file. So it will keep on restarting if killed. In order to properly stop the service you need to find its name. First get executable path from PID and then find service by searching through all .rc files:

~# grep -rI $(readlink /proc/$(pgrep -f irq/288-wcd9xxx)/exe) /*/etc/init/ /init.*.rc 

You can confirm the same service name by looking at running status in getprop | grep init.svc. command. To stop the service use any of these commands:

~# stop <service_name> ~# setprop ctl.stop <service_name> 

This needs to be repeated on every reboot. Or you may edit the related .rc file to remove the service.

If it results in something not working, another possibility is to try controlling its CPU usage by applying some limitation e.g. cgroups (if kernel supports).

EDIT:

I just noticed that a file name cannot have a slash (/). So irq/288-wcd9xxx must be a kernel thread for interrupt handling. It's not evident but you can check its parent PID (ppid must be 2) and also no memory allocation (0K) indicates that it's not a userspace process. So the problem is with your audio hardware or in-kernel driver (see this answer). In latter case again an updated kernel from OEM would fix the problem.

A workaround can be to control CPU usage of real-time process using chrt: chrt -r -p 1 $(pgrep -f irq/288-wcd9xxx) or chrt -f -p 1 $(pgrep -f irq/288-wcd9xxx) or renice or cgroups (if kernel supports): cpu or cpuset.

 
 

Questions connexes

3  Comment exécuter un exécutable au démarrage et le garder en marche?  ( How to run an executable on boot and keep it running ) 
J'ai une version exécutable à partir d'un programme ndk-build . Je veux l'exécuter sur un appareil Android enraciné. Quelle est la possibilité que Android tu...

1  WhatsApp Messageervice est toujours tué peu de temps après la sortie de l'application  ( Whatsapp messageservice is always killed shortly after exiting the app ) 
Il y a quelques jours, j'ai remarqué que je ne reçois plus de messages Whatsapp jusqu'à ce que je démarre manuellement l'application, ce qui est lorsque les m...

5  Start Services au démarrage [Duplicate]  ( Start services at boot ) 
Cette question a déjà une réponse ici : Ouvrir une application au démarrage / après le démarrage ...

2  Que fait le processus icsservice?  ( What does the icsservice process do ) 
Sous Services de course, je vois le icsservice ou nom long com.android.samsung.icsservice . Que fait ce processus? Je débris de la suppression de cela. R...

3  Mes services de Google Voice Serverent rester coincé sur "Redémarrer"  ( My google voice services keeps getting stuck on restarting ) 
Le "UpdateService" pour Google Voice continue de rester coincé sur "Redémarrer" et je manque donc de recevoir des messages SMS de Google Voice. J'ai déjà coup...

3  "System_Server" - Bluetoothphoneservice provoque une utilisation élevée de la CPU  ( System server bluetoothphoneservice causes high cpu usage ) 
J'utilise Android 5.1 sur Nexus 4 et remarquez la batterie de la batterie plus rapidement que d'habitude il y a quelques mois. Pensant que je dois mettre à jo...

3  Quelles applications et services en cours d'exécution sont en sécurité pour éteindre? [dupliquer]  ( What running applications and services are safe to turn off ) 
Cette question a déjà des réponses ici : fermée il y a 10 ans . Dupliqué possible: Sachez q...

0  Pourquoi l'application WidgetLocker est-elle évitant mon tueur de tâche?  ( Why is widgetlocker app evading my task killer ) 
L'application widgetLocker (une application de remplacement de verrouillage de l'écran) a un service de fonctionnement que je peux voir dans mon gestionnaire ...

10  Comment empêcher les services de courir en arrière-plan? [dupliquer]  ( How can i prevent services from running in the background ) 
Cette question a déjà une réponse ici : fermé Il y a 8 ans . Dupliqué possible: Comment pui...

1  Comment faire des appels réseau sur Android avec une application à l'arrière-plan [fermé]  ( How to make network calls on android with an app in the background ) 
fermé. Cette question est off-sujet . Il n'accepte pas actuellement les réponses. Voulez...




© 2022 www.demandez.top All Rights Reserved. Questions et réponses Accueil Tous les droits sont réservés