2010-03-05 10 views
8

İki programlama aracı (Solaris üzerinde windows ve dbx (sunstudio içinde) üzerinde VTune kullanıyorum), bunları yeniden oluşturmadan profil programlayabilir ve profilleme sırasında program normal hızda çalışır. Bu iki özellikten ikisi de bana çok zaman kazandırdı.Linux platformunda programı yeniden oluşturmadan nasıl profilleme yapılır?

Şimdi, Linux platformunda bazı ücretsiz araçların mevcut olup olmadığını öğrenmek istiyorum. Örnekleme bazında profil araçlarına ihtiyacım var. VTune iyi ama pahalı ... Gprof ve valgrind duydum. Ama gprof ihtiyacı enstrüman programı (bu yüzden programı yeniden yapmak zorundayız) gibi görünüyor ve valgrind program yürütmesini oldukça yavaşlatacaktır. (valgrind'in tanıtımından itibaren, Cachegrind programları normalden 20 - 100 kat daha yavaş çalıştırır ve profillemeye ihtiyacım olan Callgrind Cachegrind'i temel alır)

Profilleme için sadece işlev çağrılarının yürütme süresini anladım. Performans düşüşünün nerede gerçekleştiğini öğrenebilir. Aslında, Cachegrind tarafından sağlanan birçok düşük seviyeli profil bilgisine ihtiyacım yok ...

cevap

5

Oprofile oldukça iyi, ancak kurulumu zor olabilir. Ayrıca programınızı yeniden oluşturmanızı gerektirmez.

+0

Evet ... İhtiyacım olan bu gibi görünüyor ... Ama bence kök hesapların kurulması gerekiyor, değil mi? – superb

+0

Evet, kurulumu için root gerekiyor. Ya da sudoers dosyanızın nasıl kurulduğuna bağlı olarak. Sanal bir makine kullanmayı öneririm, ancak bir VM'de profil yapmak kötü bir fikir gibi görünüyor - bir VM altında çalışırken darboğazlar fiziksel bir makinede çalışırken olduğu gibi olmayabilir. Umarım sisteminizde kök vardır. – George

+0

Anladım. Oprofiler hakkında bir dokümanı okuduktan sonra, bazı donanım sayaçlarını toplayabilmek için çekirdeğe ihtiyaç duyduğunu anlıyorum, böylece programı hızlı bir şekilde profilleyebilir, böylece yapılandırmak için bir kök ayrıcalığı gerekir. Genel bir makine kullandığından ve profillemenin bu makinenin performansını etkileyeceğinden, kök erişimi kolaydır. Bence Valgrind belki de en iyi seçenek ... – superb

0

Oprofile'den daha güzel bir seçenek Zoom. Bunu hiç kullanmadıysanız Mac OS X'te Shark'a benzer. Bu ticari (199 $) ancak www.rotateright.com'dan ücretsiz deneme alabilirsiniz.

1

Paul ile anlaşmak, Zoom'un muhtemelen ödeyebileceğiniz en iyi Linux profiler olduğunu düşünüyorum. Ancak, real results için this simple method numaralı belgeye güveniyorum, profil oluşturuculardan önce kullanıyorum.

1

Performance Counters for Linux kernels 2.6.31 ve sonraki sürümlerinde kullanılabilen yeni bir araçtır; Daha az müdahaleci (hem program hem de sistem için bir bütün olarak) valgrind veya OProfile'dan daha az.