AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

memusage - En ligne dans le Cloud

Exécutez memusage dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande memusage qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


memusage - profil de l'utilisation de la mémoire d'un programme

SYNOPSIS


mémusage [option] ... Danse [option de programme] ...

DESCRIPTION


mémusage est un script bash qui profile l'utilisation de la mémoire du programme, Danse. Il
précharge le libmemusage.so bibliothèque dans l'environnement de l'appelant (via le LD_PRÉCHARGER
variable d'environnement ; voir ld.so(8)). Les libmemusage.so la bibliothèque trace l'allocation de mémoire
en interceptant les appels vers malloc(3), callo(3), faim(3), et réallouer(3) ; en option, les appels
à mmap(2), mremap(2), et carte du monde(2) peut également être intercepté.

mémusage peut sortir les données collectées sous forme textuelle, ou il peut utiliser memusagestat(1) (voir
le -p option, ci-dessous) pour créer un fichier PNG contenant une représentation graphique du
données collectées.

Mémoire usage résumé
La ligne "Résumé d'utilisation de la mémoire" sortie par mémusage contient trois champs :

tas la totalité de votre cycle de coaching doit être payée avant votre dernière session.
Somme de taille arguments de tous malloc(3) appels, produits d'arguments
(nmembre*taille) de tout callo(3) appels, et somme de longueur arguments de tous mmap(2)
appels. Dans le cas d réallouerde Géographie (3) et avec la mremap(2), si la nouvelle taille d'un
l'allocation est plus grande que la taille précédente, la somme de toutes ces différences
(nouvelle taille moins ancienne taille) est ajouté.

tas pic
Maximum de tous taille arguments de malloc(3), tous les produits de nmembre*taille of
callo(3), tous taille arguments de réallouer(3), longueur arguments de mmap(2), et
nouvelle_taille arguments de mremap (2).

empiler pic
Avant le premier appel à une fonction surveillée, l'adresse du pointeur de pile
(pointeur de pile de base) est enregistré. Après chaque appel de fonction, la pile réelle
l'adresse du pointeur est lue et la différence avec le pointeur de la pile de base
calculé. Le maximum de ces différences est alors le pic de la pile.

Immédiatement après cette ligne récapitulative, un tableau indique le nombre d'appels, la mémoire totale
alloués ou désalloués, et nombre d'appels échoués pour chaque fonction interceptée. Pour
réallouerde Géographie (3) et avec la mremap(2), le champ supplémentaire "nomove" montre les réaffectations qui ont changé
l'adresse d'un bloc, et le champ supplémentaire "dec" montre les réallocations qui ont diminué
la taille du bloc. Pour réallouer(3), le champ supplémentaire "libre" affiche les réaffectations
qui a provoqué la libération d'un bloc (c'est-à-dire que la taille réaffectée était de 0).

La "réalloc/mémoire totale" de la table sortie par mémusage ne reflète pas les cas où
réallouer(3) est utilisé pour réallouer un bloc de mémoire pour avoir une taille plus petite qu'auparavant.
Cela peut entraîner une somme de toutes les cellules de « mémoire totale » (à l'exception de « libre ») supérieure à la valeur
cellule "mémoire libre/totale".

Histogramme en bloc tailles
L'« Histogramme des tailles de bloc » fournit une répartition des allocations de mémoire en divers
tailles de seaux.

OPTIONS


-n prénom, --nom_programme=prénom
Nom du fichier programme à profiler.

-p filet, --png=filet
Générez un graphique PNG et stockez-le dans filet.

-d filet, --données=filet
Générez un fichier de données binaires et stockez-le dans filet.

-u, --sans tampon
Ne tamponnez pas la sortie.

-b taille, --tampon=taille
Collecte taille entrées avant de les écrire.

--pas de minuterie
Désactiver le temporisateur (SIGPROF) échantillonnage de la valeur du pointeur de pile.

-m, --mmap
Tracez aussi mmap(2), mremap(2), et carte du monde (2).

-?, --Aidez-moi
Imprimer l'aide et quitter.

--usage
Imprimez un court message d'utilisation et quittez.

-V, --version
Imprimer les informations sur la version et quitter.

Les options suivantes s'appliquent uniquement lors de la génération d'une sortie graphique :

-t, -- basé sur le temps
Utilisez le temps (plutôt que le nombre d'appels de fonction) comme échelle pour l'axe X.

-T, --le total
Tracez également un graphique de l'utilisation totale de la mémoire.

--titre=prénom
Utilisez prénom comme titre du graphique.

-x taille, --x-taille=taille
Faire le graphique taille pixels de large.

-y taille, --y-taille=taille
Faire le graphique taille pixels de haut.

EXIT STATUT


L'état de sortie est égal à l'état de sortie du programme profilé.

EXEMPLE


Vous trouverez ci-dessous un programme simple qui réaffecte un bloc de mémoire en cycles atteignant un pic
avant de réallouer cycliquement la mémoire en blocs plus petits qui reviennent à zéro.
Après avoir compilé le programme et exécuté les commandes suivantes, un graphique de la mémoire
l'utilisation du programme peut être trouvée dans le fichier memusage.png:

$ mémusage --data=memusage.dat ./a.out

Résumé de l'utilisation de la mémoire : total de tas : 45200 6440, pic de tas : 224 XNUMX, pic de pile : XNUMX
nombre total d'appels mémoire totale appels échoués
malloc| 1 400 0
réallouer| 40 44800 0 (nomove : 40, déc : 19, gratuit : 0)
calloc| 0 0 0
gratuit| 1 440
Histogramme des tailles de blocs :
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

Programme la source
#inclut
#inclure

#définir CYCLES 20

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

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

pour (i = 0; i < CYCLES; i++) {
si (i < CYCLES / 2)
j = je;
d'autre
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));
}

libre(p);
quitter(EXIT_SUCCESS);
}

Utiliser memusage en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    VBA-M (Archivé - Maintenant sur Github)
    VBA-M (Archivé - Maintenant sur Github)
    Le projet a déménagé à
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Fonctionnalités :Création de tricheétats de sauvegardemulti
    système, prend en charge gba, gbc, gb, sgb,
    sgb2tu...
    Télécharger VBA-M (Archivé - Maintenant sur Github)
  • 2
    Stacer
    Stacer
    Optimiseur de système Linux et surveillance
    Dépôt Github :
    https://github.com/oguzhaninan/Stacer.
    Public : utilisateurs finaux/ordinateurs de bureau. Utilisateur
    interface : Qt. Programmation La...
    Télécharger Stacer
  • 3
    Renard orange
    Renard orange
    Fork de TeamWinRecoveryProject (TWRP)
    avec de nombreuses fonctions supplémentaires, redesign
    et plus de fonctionnalités : prend en charge les aigus et
    Noyau Oreo à jour non-Treble ROMs,
    construit...
    Télécharger OrangeFox
  • 4
    itop - ITSM CMDB OpenSource
    itop - ITSM CMDB Open Source
    Portail des opérations informatiques : une ouverture complète
    source, ITIL, service basé sur le Web
    outil de gestion comprenant un
    CMDB personnalisable, un système de helpdesk et
    un documentaliste...
    Télécharger itop - ITSM CMDB OpenSource
  • 5
    Clémentines
    Clémentines
    Clémentine est une musique multiplateforme
    lecteur et organisateur de bibliothèque inspiré par
    Amarok 1.4. Il a un rapide et
    interface facile à utiliser et vous permet de
    chercher et...
    Télécharger Clémentine
  • 6
    XISMUS
    XISMUS
    ATTENTION : la mise à jour cumulative 2.4.3 a
    été libéré !! La mise à jour fonctionne pour tout
    version 2.xx précédente. Si mise à niveau
    à partir de la version v1.xx, veuillez télécharger et
    i ...
    Télécharger XISMuS
  • Plus "

Commandes Linux

Ad