5 votes

Comment limiter l'utilisation du processeur des processus système ?

Certains processus système comme systemsoundservd, logd, diagnosticd, etc. utilisent depuis peu beaucoup de cpu sur mon macbook pro. Comment puis-je les limiter dans une certaine mesure car la plupart d'entre eux ne me concernent pas trop ?

Note : J'ai déjà vérifié Puis-je limiter manuellement le %CPU utilisé par un processus ? mais cela ne semble pas fonctionner comme prévu.

viet@Mozg  ~  pgrep -l systemsoundserv  
506 systemsoundserv  
viet@Mozg  ~  sudo cputhrottle 506 10  
libc++abi.dylib: terminating
with uncaught exception of type Process::ManipulatorException: Error
on task_for_pid of pid 506, res = 5 [1]    7594 abort      sudo
cputhrottle 506 10

0 votes

Veuillez préciser ce que vous entendez par "il n'y a pas de résultats positifs". Que s'est-il passé ou ne s'est-il pas passé et à quoi vous attendiez-vous ?

0 votes

Édité. Cela ne fonctionne pas et lance cette exception à chaque fois que j'essaie.

0 votes

Avez-vous essayé "nice" et "renice"...

1voto

Oskar Points 1242

Ces processus système réagissent aux autres applications en cours d'exécution. La première étape consiste donc à isoler et à identifier les programmes à l'origine de la charge élevée du système en arrière-plan.

C'est comme si vous conduisiez une voiture haute performance et que vous constatiez que les pneus sont chauds et que le carburant est consommé rapidement - tout cela fait partie de l'intention de conception lorsque vous appuyez sur l'accélérateur.

Il serait peut-être plus judicieux de commencer par votre charge de travail réelle plutôt que d'essayer d'entraver ou de désactiver la journalisation et la sortie sonore. Désolé pour cette réponse secondaire, mais ces processus sont au repos pour la grande majorité des installations et le seront probablement sur votre système si vous redémarrez. Un dépannage devrait permettre de déterminer exactement quelles sont les applications qui déclenchent ce modèle d'utilisation.

0voto

The Matt Points 301

Vous pouvez essayer d'utiliser nice .

nice est une fonction intégrée à MacOS et peut être utilisée pour lancer une tâche avec une priorité d'ordonnancement inférieure. (Ou plus élevée, avec le superutilisateur).

nice -n 20 yes > /dev/null

Lancement yes avec la priorité la plus basse (et la plus lente) possible. Vous pouvez également modifier la priorité d'un processus en cours d'exécution à l'aide de la commande renice .

home:~ user$ yes > /dev/null &
[1] 2492
home:~ user$ renice -n 20 2492

Cela modifiera la priorité du processus déjà entamé. Il convient de souligner que le yes fonctionne toujours à 100 %, car il n'est pas vraiment étranglé. Plutôt, nice fait en sorte que, si plusieurs programmes sont en concurrence pour les ressources, les yes ralentira et laissera vos tâches plus importantes tranquilles.

Vous pouvez voir ici pour plus de détails sur la définition des priorités sur Mac.

0 votes

Cela ne fait que changer la priorité mais ne limite pas vraiment l'utilisation du processeur en soi.

0 votes

Comme le suggère l'utilisateur ci-dessus, cela permet seulement d'éviter que le processus ne monopolise le processeur. En effet, cela ne limite pas le processus, mais modifie simplement la priorité. Si rien d'autre n'est en cours d'exécution, un processus sur nice 20 peut toujours faire surchauffer la machine.

0voto

The Matt Points 301

Une application que j'ai trouvée utile est Commutateur Turbo Boost .

Il empêche le CPU de dépasser l'horloge de base. Cela ne cible aucune application en particulier, mais cela permet de réduire les performances de toute application qui cause des contraintes excessives.

Cette fonction est utile pour préserver l'autonomie de la batterie ou pour garder le système froid.

0voto

JPGConnolly Points 101

Vous pouvez essayer cputhrottle : https://download.cnet.com/CPUThrottle/3000-20432_4-75587020.html

Je l'exécute via le script suivant par exemple :

#!/bin/bash
echo
echo "Process usage limiter: usage \"plimit [process name] [usage limit 0-100%\""

# Process name search and check - exit 1 on error.
echo "Process to limit?" ; read name  
procnum=$( ps xca | grep -i  "$name" | awk '{ print $1 }')  
ps xca | grep -i "$name" 2>/dev/null ; procerror=$? 
[ $procerror -ne "0" ] && echo "Process not found: "$name && echo && exit 1

# Process maxium CPU usage check - exit 2 on error.
echo "Process limit (1-100) ? "  ; read plimit  
[ $plimit -gt 0 ] 2>/dev/null ; limerror=$? 
[ $limerror -ne "0" ] && echo "The process limit must be a number" && echo && exit 2

if [ "$plimit" -le "0" ] || [ "$plimit" -gt "100" ] 
then
echo "That is not a proper limit." ; echo
exit 1
else
echo Command: cputhrottle $procnum $plimit 
sudo cputhrottle $procnum $plimit

-1voto

chacovi Points 11

J'ai trouvé cette alternative : AppPolice

1 votes

De quoi s'agit-il ?

0 votes

J'ai trouvé le lien posté ici intéressant. Le contenu de ce message peut en fait être utile, et je ne vois donc pas l'intérêt de le dénigrer.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X