dışında dış denetim dışında, ayrıca enstrüman malloc'un uygulamanız size bu istatistikleri incelemek izin edebilirsiniz. jemalloc
ve tcmalloc
, tipik libc uygulamalarının çok iş parçacıklı kod için daha iyi performans göstermesi üzerine, bu türden bazı yardımcı işlevler ekleyen uygulamalardır.
Daha derine inmek için, yığın ayırmanın nasıl çalıştığını biraz daha öğrenmelisiniz. Nihayetinde, OS, istedikleri gibi işlemlere bellek atayan bir sistemdir, ancak OS (syscalls) istekleri normal aramalardan daha yavaştır, bu nedenle genel olarak malloc
'un bir uygulaması OS'ye büyük parçalar (4KB veya 8KB blokları) isteyecektir ortaktır) ve alt başlıklarını onları arayanlara sunmaya ayırır.
Sen süreç belirli bir prosedür çağrısı dahilinde OS istenen bellek,
malloc
tarafından kullanılıyor aslında hafızayı (kodun kendisini içerir) işlem tarafından tüketilen toplam bellekte ilgilenen olmadığını tespit etmek gerekir
Uygulama (kendi kitap tutma yükünü ekleyen, ancak küçük olan) veya numaralı numaralı telefonu talep ediyor.
Ayrıca, parçalanma son iki bir ağrı olabilir ve örneğin bir şekilde gerçekten kullanılan atanmış arasındaki farkları bulanıklaştırmaktadır.
yeni ve malloc aynı bölgeyi kullanmayın ... – UmNyobe
@UmNyobe: Bu genellikle 'yeni' çağrıları genellikle :: malloc() ile gerçekleştirilir ... –
http://stackoverflow.com/questions/1350819/c-free-store-vs-heap – UmNyobe