2009-06-05 9 views
0

Je cours actuellement une application qui semble tourner à plein régime, mais même si le ventilateur semble tourner à son maximum et que le moniteur d'activité rapporte que l'application utilise 100% du processeur, je suis soupçonnant tout au plus d'utiliser 100% d'un seul des deux noyaux sur ma machine.comment contrôler l'utilisation du processeur d'une application sur OS X?

Comment puis-je demander à OS X de permettre à une application d'utiliser 100%, ou autant que le système d'exploitation peut le permettre, de la puissance de traitement de mon ordinateur? J'ai essayé certaines commandes de terminal comme "nice" et "renice" pour définir la priorité de ce processus mais je n'arrive toujours pas à le faire tourner à plein régime.

Je voudrais également savoir comment faire le contraire, définir une limite de l'utilisation du processeur d'une application, exemple mis X application pour fonctionner à 20%. Est-ce possible de faire sans modifier le code de l'application?

Répondre

3

La réponse à cette question dépend si votre application est multithread ou non. S'il s'agit d'une application monothread, ce qui est le cas, à moins que vous ne l'ayez spécifiquement fait multi-thread, alors le processus s'exécutera sur un noyau de votre matériel multi-core. Il n'y a rien que vous puissiez faire à ce sujet, c'est une fonction du système d'exploitation sous-jacent.

Si votre programme est multithread, il est possible d'avoir différents threads s'exécutant sur des cœurs séparés. Cela augmentera l'utilisation globale du processus et permettra des chiffres supérieurs à 100%.

Vous ne pouvez cependant pas forcer la machine à utiliser «tout» la puissance de traitement disponible, mais vous pouvez l'influencer avec gentil. Pour réduire la quantité de processeur utilisée, vous pouvez utiliser nice pour réduire la priorité du processus. Si vous êtes root, vous pouvez également utiliser nice pour augmenter la priorité de votre processus

+0

got it. Qu'en est-il du contraire? est-il possible de mettre comme une e-frein sur une application pour simuler qu'il fonctionne sur une machine plus lente? Merci pour la réponse. – victrnava