J'aimerais limiter la quantité de temps CPU dédiée à certains processus (par exemple, Firefox, Safari, ...).
Je ne comprends pas pourquoi de tels programmes, même non utilisés (aucun chargement, aucune animation, ne s’exécutant en arrière-plan, ...), sont donc gourmands en ressources. Pourquoi un navigateur doit consommer 50% ou plus de mon processeur? Puis-je limiter à 10%?
macos
lion
battery
performance
Pietro
la source
la source
Réponses:
Ce n’est pas exactement ce que vous vouliez, mais en ce qui concerne Google Drive et Chrome, c’est ce qui a fait le tour pour moi:
Google Drive ("Sauvegarde et synchronisation")
dé-hiérarchiser:
revenir à la normale:
Chrome
dé-hiérarchiser tous les processus en cours:
remettre à la normale tous les processus en cours:
la source
cputhrottle
est l'outil dont vous avez besoin. Vous pouvez l'installer avec Homebrew .Vous pouvez surveiller une série de processus par leur nom en exécutant le script Bash ci-dessous. Je ne sais pas trop comment transformer cela en un élément de connexion, car il
cputhrottle
nécessite des autorisations de superutilisateur. Exécutez-le en tant que script, dans un flux de travail Automator, peu importe:[Édité]
J'ai ajouté une version différente pour ce script (un
bash
script), ce qui pourrait être utile aux personnes cherchant à limiter le processeur pour plusieurs applications.Ce nouveau script vous permet également de spécifier une liste contenant le nom de l'application et la limite de CPU pour celle-ci.
La principale différence est que vous pouvez ajouter une limite de cpu par application et qu'elle ne s'exécutera qu'une fois par application. J'ai également ajouté l'option permettant de supprimer tous les
cputhrottle
processus.Le script suppose que les deux
cputhrottle
etpidof
sont installés avant de l'exécuter.La source:
la source
cputhrottle
la forumula a été retirée d'Homebrew le 17 février 2019 car elle ne fonctionne plus . Yosemite était la dernière version de macOS à prendre en chargecputhrottle
.Vous pouvez en effet! Il y a CPUThrottle , qui permet de spécifier un PID à restreindre.
Notez, ils essaient d'utiliser cela beaucoup pour une raison, c'est un outil utile, mais que ça le rende meilleur ou pire pour vous au jour le jour, vous le découvrirez.
la source
Bien que ce ne soit pas une réponse directe à la question du PO, si vous rencontrez un problème avec un processus particulier prenant trop de temps de votre temps processeur et rendant votre ordinateur inutilisable, vous n'avez pas à vous soucier du temps que ce processus prend pour terminer le processus. tâche sur laquelle vous travaillez, vous pouvez utiliser la
renice
touche pour modifier la priorité de ce processus, pour qu’il se comporte bien (d’où son nom).Tout d'abord, vous devez trouver le PID du processus qui utilise les ressources du processeur. Vous pouvez le faire dans Activity Monitor ou dans Terminal.app à l'aide de la
ps
commande. Par exemple, pour trouver le PID du navigateur Safari, tapez:La deuxième ligne ci-dessus est la sortie et le PID est 17452 dans ce cas particulier.
Ensuite, la tâche suivante consiste à modifier la priorité du processus (disons que nous voulons que Safari se comporte bien). Pour ce faire, dans Terminal.app, tapez:
L'
-n
option modifie le niveau de précision en ajoutant 10 à la valeur actuelle (0 par défaut). La plage de valeurs est comprise entre -20 et 20, la valeur minimale désignant la priorité la plus élevée. En tant qu'utilisateur ordinaire, vous pouvez utiliser les valeurs 0 à 20. Pour affecter une valeur négative, vous devez disposer des privilèges root (par exemple, utilisez lasudo
commande). En savoir plus surnice
etrenice
en tapantman nice
etman renice
dans Terminal.app.nice
etrenice
ne limitent pas le pourcentage de la CPU disponible pour une application donnée en soi, ils permettent toutefois de changer la priorité de planification, ou en d'autres termes, la quantité de temps CPU qu'un processus obtiendra. Tout cela est relatif à la charge du processeur de votre système. Par conséquent, si le système est sous-utilisé, vous ne verrez probablement aucune différence.la source
Il y a une simple ligne pour faire tout cela:
Ecrivez le nom de votre application au lieu de chrome et le pourcentage souhaité au lieu de 10 et vous voilà prêt à partir!
la source
pgrep Dropbox | sudo xargs -n 1 -I'{}' sh -c 'cputhrottle {} 10 &'
. Je ne suis pas sûr si macOS estpgrep
installé avec , cependant.Ceci est basé sur une réponse précédente, mais l'ajout de l'interruption pour ctrl + c pour s'assurer que le processus en cours de limitation est laissé dans un état de continuation, et l'ajout de
set -e
sorte que ce script se ferme proprement si le processus se ferme:la source
Le lien que Nicholas Smith a posté ne fonctionne plus. J'ai donc trouvé une autre application qui fait l'affaire pour les personnes qui la recherchent à nouveau. l'application appelle Apppolice.
http://www.macupdate.com/app/mac/49836/apppolice
la source
Ceci est mon dernier script, maintenez la commande cputhrottle propre et n’en exécutez une nouvelle si elle n’existe pas
la source
Le script écrit par Dimitri fonctionne bien (sous macOS), mais il continue à fonctionner avec des erreurs après la fermeture de l'application. Je l'ai changé pour le terminer (avec un message d'erreur sur le PID introuvable):
la source
ce sh a fonctionné pour moi
la source