QEMU est un émulateur de CPU pour Linux. Debian a des paquets pour cela (j'imagine que la plupart distros volonté). Vous pouvez exécuter un programme dans un émulateur et la plupart d'entre eux devraient permettre de ralentir les choses. Par exemple, Miroslav Novak a des correctifs pour ralentir QEMU.
Alternativement, vous pourriez faire une compilation croisée vers un autre CPU-linux (arm-none-gnueabi-linux, etc) et ensuite faire en sorte que QEMU traduise ce code pour le faire fonctionner.
El joli La suggestion est simple et peut fonctionner si vous la combinez avec un autre processus qui consommera du cpu.
nice -19 test &
while [ 1 ] ; do sha1sum /boot/vmlinuz*; done;
Vous n'avez pas dit si vous avez besoin d'E/S graphiques, de fichiers et/ou de réseau ? Savez-vous quelque chose sur les classe d'erreur que vous recherchez ? S'agit-il d'une condition de course, ou le code est-il simplement peu performant sur le site d'un client ?
Edit : Vous pouvez également utiliser des signaux tels que STOP y CONT pour démarrer et arrêter votre programme. Un débogueur peut également le faire. Le problème est que le code exécute un pleine vitesse puis est arrêté. La plupart des solutions utilisant le planificateur Linux auront ce problème. Il y avait une sorte d'analyseur de fil de discussion d'Intel afair. Je vois Notes de version de Vtune . C'est Vtune, mais je suis sûr qu'il existe un autre outil pour analyser les courses de filets. Voir : Intel Thread Checker qui peut vérifier certaines conditions de course de threads. Mais nous ne savons pas si l'application est multithreadée ?