İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

memusage - Bulutta Çevrimiçi

Memusage'ı Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut mesajıdır.

Program:

ADI


memusage - bir programın profil hafızası kullanımı

SİNOPSİS


hatıra [seçenek] ... program [program seçeneği] ...

TANIM


hatıra programın bellek kullanımının profilini çıkaran bir bash betiğidir, program. O
önceden yükler libmemusage.so kütüphaneyi arayanın ortamına aktarın (üzerinden LD_PRELOAD
Çevre değişkeni; görmek ld.so(8)). NS libmemusage.so kütüphane bellek tahsisini izler
çağrıları engelleyerek malloc(3) Calloc(3) ücretsiz(3), ve yeniden tahsis etmek(3); isteğe bağlı olarak aramalar
için mmap(2) mre haritası(2), ve harita(2) aynı zamanda ele geçirilebilir.

hatıra Toplanan verileri metin biçiminde yayınlayabilir veya kullanabilir memusagestat(1) (bkz.
the -p seçeneği, aşağıda) grafiksel temsilini içeren bir PNG dosyası oluşturmak için
toplanan veri.

Bellek kullanım özet
"Bellek kullanımı özeti" satırı çıktısı hatıra üç alan içerir:

yığın Genel Toplam
Toplamı boyut hepsinin argümanları malloc(3) çağrılar, argümanların ürünleri
(üye*boyut) tümünden Calloc(3) çağrılar ve toplamı uzunluk hepsinin argümanları mmap(2)
Aramalar. Bu durumuda yeniden tahsis etmek(3) ve mre haritası(2), eğer yeni boyut
tahsis önceki boyuttan daha büyükse, tüm bu farkların toplamı
(yeni boyut eksi eski boyut) eklenir.

yığın zirve
Hepsinden maksimum boyut argümanları malloc(3), tüm ürünler üye*boyut of
Calloc(3), hepsi boyut argümanları yeniden tahsis etmek(3) uzunluk argümanları mmap(2), ve
yeni_boyut argümanları mre haritası(2).

yığın zirve
İzlenen herhangi bir işleve ilk çağrı yapılmadan önce yığın işaretçisi adresi
(temel yığın işaretçisi) kaydedilir. Her işlev çağrısından sonra gerçek yığın
işaretçi adresi okunur ve temel yığın işaretçisinden farkı
hesaplanmış. Bu farkların maksimumu yığın tepe noktasıdır.

Bu özet satırının hemen ardından, çağrıların sayısını, toplam hafızayı gösteren bir tablo görüntülenir.
tahsis edilen veya tahsisi kaldırılan ve ele geçirilen her işlev için başarısız çağrıların sayısı. İçin
yeniden tahsis etmek(3) ve mre haritası(2), "nomove" ek alanı değişen yeniden tahsisleri gösterir
bir bloğun adresi ve ek "dec" alanı azalan yeniden tahsisleri gösterir
bloğun boyutu. İçin yeniden tahsis etmek(3), "serbest" ek alanı yeniden tahsisleri gösterir
bu, bir bloğun serbest bırakılmasına neden oldu (yani, yeniden tahsis edilen boyut 0'dı).

Tablo çıktısının "yeniden tahsis/toplam hafızası" hatıra olduğu durumları yansıtmaz.
yeniden tahsis etmek(3) bir bellek bloğunu daha önce olduğundan daha küçük bir boyuta sahip olacak şekilde yeniden tahsis etmek için kullanılır.
Bu, tüm "toplam bellek" hücrelerinin toplamının ("boş" hariç) hücreden daha büyük olmasına neden olabilir.
"boş/toplam hafıza" hücresi.

Histogram için blok boyutları
"Blok boyutları için histogram", bellek tahsislerinin çeşitli bölümlere ayrılmasını sağlar
kova boyutları.

SEÇENEKLER


-n isim, --progname=isim
Profildeki program dosyasının adı.

-p dosya, --png=dosya
PNG grafiği oluşturun ve saklayın dosya.

-d dosya, --veri=dosya
İkili veri dosyası oluşturun ve bunu içinde saklayın dosya.

-u, --tamponsuz
Çıktıyı ara belleğe almayın.

-b boyut, --tampon=boyut
Toplamak boyut girişleri yazmadan önce.

--zamanlayıcı yok
Zamanlayıcı tabanlıyı devre dışı bırak (SIGPROF) yığın işaretçisi değerinin örneklenmesi.

-m, --mmap
Ayrıca iz mmap(2) mre haritası(2), ve harita(2).

-?, --yardım et
Yardımı yazdırın ve çıkın.

--kullanım
Kısa bir kullanım mesajı yazdırın ve çıkın.

-V, --versiyon
Sürüm bilgilerini yazdırın ve çıkın.

Aşağıdaki seçenekler yalnızca grafik çıktı oluşturulurken geçerlidir:

-t, --zamana dayalı
X ekseni ölçeği olarak zamanı (işlev çağrılarının sayısı yerine) kullanın.

-T, --Toplam
Ayrıca toplam bellek kullanımının bir grafiğini çizin.

--başlık=isim
kullanım isim grafiğin başlığı olarak.

-x boyut, --x-boyutu=boyut
Grafiği oluştur boyut piksel genişliğinde.

-y boyut, --y-boyutu=boyut
Grafiği oluştur boyut piksel yüksek.

EXIT DURUMU


Çıkış durumu, profilli programın çıkış durumuna eşittir.

ÖRNEK


Aşağıda, zirveye çıkan döngülerde bir bellek bloğunu yeniden tahsis eden basit bir program bulunmaktadır.
daha sonra belleği sıfıra dönen daha küçük bloklara döngüsel olarak yeniden tahsis etmeden önce.
Programı derledikten ve aşağıdaki komutları çalıştırdıktan sonra hafıza grafiği
programın kullanımı dosyada mevcuttur memusage.png:

$ hatıra --data=memusage.dat ./a.dışarı
...
Bellek kullanımı özeti: yığın toplamı: 45200, yığın zirvesi: 6440, yığın zirvesi: 224
toplam aramalar toplam hafıza başarısız aramalar
malloc| 1 400 0
realloc| 40 44800 0 (hareketsiz:40, aralık:19, serbest:0)
kalloc| 0 0 0
ücretsiz| 1 440
Blok boyutları için histogram:
192-207 1 %2 =================
...
2192-2207 1 %2 =================
2240-2255 2 %4 ==================================
2832-2847 2 %4 ==================================
3440-3455 2 %4 ==================================
4032-4047 2 %4 ==================================
4640-4655 2 %4 ==================================
5232-5247 2 %4 ==================================
5840-5855 2 %4 ==================================
6432-6447 1 %2 =================
$ memusagestat memusage.dat memusage.png

Programı kaynak
#Dahil etmek
#Dahil etmek

#define DÖNGÜLER 20

int
main(int argc, char *argv[])
{
int i, j;
int *p;

printf("malloc: %zd\n", sizeof(int) * 100);
p = malloc(sizeof(int) * 100);

for (i = 0; i < DÖNGÜLER; i++) {
if (i < DÖNGÜLER / 2)
j = ben;
başka
J--;

printf("realloc: %zd\n", sizeof(int) * (j * 50 + 110));
p = realloc(p, sizeof(int) * (j * 50 + 100));

printf("realloc: %zd\n", sizeof(int) * ((j+1) * 150 + 110));
p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));
}

ücretsiz(p);
çıkış(EXIT_SUCCESS);
}

Onworks.net hizmetlerini kullanarak memusage'ı çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    VBA-M (Arşivlendi - Şimdi Github'da)
    VBA-M (Arşivlendi - Şimdi Github'da)
    Proje şuraya taşındı:
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Özellikler:Hile oluşturmadurumları kaydetçoklu
    sistem, gba, gbc, gb, sgb'yi destekler,
    sgb2Tu...
    VBA-M'yi İndirin (Arşivlendi - Şimdi Github'da)
  • 2
    Stacer
    Stacer
    Linux Sistem Optimize Edici ve İzleme
    Github Deposu:
    https://github.com/oguzhaninan/Stacer.
    Kitle: Son Kullanıcılar/Masaüstü. kullanıcı
    arayüz: Qt. Programlama...
    Stacer'ı indirin
  • 3
    TuruncuTilki
    TuruncuTilki
    TeamWinRecoveryProject(TWRP) çatalı
    birçok ek işlevle, yeniden tasarlayın
    ve daha fazla Özellikler: Tiz ve
    Tiz olmayan ROM'larGüncel Oreo çekirdeği,
    inşa edilmiş...
    OrangeFox'u indirin
  • 4
    itop - ITSM CMDB Açık Kaynak
    itop - ITSM CMDB Açık Kaynak
    BT Operasyonları Portalı: tam bir açık
    kaynak, ITIL, web tabanlı hizmet
    tamamen dahil olmak üzere yönetim aracı
    özelleştirilebilir CMDB, bir yardım masası sistemi ve
    belge adam...
    İndirin - ITSM CMDB Açık Kaynak
  • 5
    Clementine
    Clementine
    Clementine çok platformlu bir müziktir
    esinlenen oyuncu ve kütüphane organizatörü
    Amarok 1.4. Hızlı ve
    kullanımı kolay arayüzü ve size izin verir
    arama ve...
    Clementine'i indirin
  • 6
    XISMuS
    XISMuS
    DİKKAT: 2.4.3 toplu güncellemesi
    serbest bırakıldı!! Güncelleme herhangi biri için çalışır
    önceki 2.xx sürümü. Eğer yükseltme
    v1.xx sürümünden, lütfen indirin ve
    i ...
    XISMuS'u indirin
  • Daha fazla »

Linux komutları

Ad