SORU
17 Ocak 2013, PERŞEMBE


Bir programı yavaş çalıştırmak olun

C bir program daha yavaş Linux OS parametreleri değiştirerek çalıştırmak için herhangi bir yolu var mı? Bu şekilde ben bu programa gerçek yavaş bir makine üzerinde çalışan olursa ne olacağını simüle.

Diğer bir deyişle, daha hızlı bir makine, belirli bir program daha yavaş bir makine gibi davranır.

CEVAP
17 Ocak 2013, PERŞEMBE


  • Öncelik nice (ve/veya renice) kullanarak daha düşük. Ayrıca bu program aracılığıyla nice() sistem çağrısı kullanarak yapabilirsiniz. Bu uygulama hızını kendiliğinden yavaşlayacak değil, ama Linux zamanlayıcı daha az tahsis olun (ve muhtemelen) yürütme daha kısa zaman aralıklarında, daha sık gelmesi, vb. Zamanlama hakkında daha fazla bilgi için Process Scheduling (Chapter 10) of Understanding the Linux Kernel bkz.
  • 15 ** sırayla her şey yavaşlayacak olan çekirdek, üzerinde daha fazla yük koymak isteyebilirsiniz. Bu bir çekirdek yeniden gerektirir.
  • CPU Frequency Scaling mekanizması (çekirdek modülü gerektirir) kullanın ve (yavaş, hızlı) İŞLEMCİ cpufreq-set komutunu kullanarak kontrol edebilirsiniz.
  • Başka bir olasılık programınızı (kod değişiklik gerektirir) kritik performans parçaları diğer işlemler için kuantum verimi, sched_yield(), Ara.
  • malloc(), , * free()*7 vb gibi ortak işlevleri kanca. bazı aptalca şeyler yapmak LD_PRELOAD kullanma ve rep; hop;, hafıza bariyerleri ile birkaç milyon CPU döngüleri yakmak gibi vb. Bu programı yavaşlatacaktır. (Bu şeyler yapmak için nasıl bir örnek için this answer).
  • @Belirtildiği gibi Bill, her zaman size ayrılan CPU kaynaklarını, bellek, vb miktarını sınırlamak için olanak sağlayan bir sanallaştırma yazılımı Linux çalıştırabilirsiniz.
  • Eğer gerçekten programınızı yavaş olmak istiyorsanız, Valgrind (bellek sızıntıları, kötü hafıza başvuruları gibi uygulamada bazı sorunları bulmanıza yardımcı olabilir, vb.) altında çalıştırın.
  • Biraz yavaşlık devre dışı optimizasyon (yani -O0 ve izin onayları (10* yani *). ile ikili yeniden elde edilebilir
  • Sen-ebilmek her zaman almak eski bir PC ya da ucuz netbook (One Laptop Per Child ve unutma bağış bir çocuğun bittikten test) ile yavaş bir CPU ve çalışma programı.

Umarım yardımcı olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Living Waters

    Living Water

    9 AĞUSTOS 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006