web-dev-qa-db-fra.com

Comment définir l'affinité de processeur sur OS X?

Comment définissez-vous l'affinité de processeur dans Snow Leopard sur un MacBook Pro? Je sais sous Windows, vous pourriez simplement le changer dans le gestionnaire de tâches.

17
MarshallBananas

http://developer.apple.com/mac/library/releesEnotes/performance/rn-affinCityapi/

Mac OS X n'exporte pas des interfaces identifiant les processeurs ou le placement de thread de contrôle - le thread explicite à la liaison du processeur n'est pas pris en charge . Au lieu de cela, le noyau gère tout le placement du fil. Les applications s'attendent à ce que le planificateur puisse la plupart des circonstances exécutant ses threads en utilisant un bon placement de processeur par rapport à l'affinité de cache.

11
ta.speot.is

De http://images.apple.com/macosx/docs/osx_for_unix_users_tb_july2011.pdf

• Fils de noyau efficaces. Chaque thread de POSIX est en file d'attente sur une CPU particulière, améliorant ainsi l'affinité et l'évolutivité du processeur tout en réduisant la conflit de verrouillage. Les fils sont conformes à POSIX (1C), y compris la prise en charge de l'annulation et des mutiles partagées.

Cela ressemble à une annonce pour moi, mon iMac exécutant Lion cherche à respecter la plupart du temps, mais ce n'est pas un processus de Pin'a à un noyau.

Je ne pouvais trouver aucune API pour contrôler l'affinité de processus pour Darwin de toute façon.

2
Alan Baldo