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

  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006
  • YAN TV

    YAN TV

    20 EKİM 2011