431 votes

Utilisation de mémoire de crête d’un processus linux/unix

Y at-il un outil qui va exécuter une ligne de commande et rapport à la quantité de RAM a été utilisé total ?

J’imagine quelque chose d’analogue à /usr/bin/time

465voto

Jacob Gabrielson Points 8800

[Edit: eh bien, ce semblait utile au début, mais semble toujours return 0]

Ressemble /usr/bin/time ne vous donner cette info, si vous passez -v (c'est sur Ubuntu 8.10). Voir, par exemple, Maximum resident set size ci-dessous:

$ /usr/bin/time-v ls /
....
 Commande de minuterie: "ls /"
 L'utilisateur le temps (en secondes): 0.00
 Système de temps (en secondes): 0.01
 % De CPU ce travail a obtenu: 250%
 Écoulé (horloge murale) temps (h:mm:ss ou m:ss): 0:00.00
 Moyenne de texte partagé taille (ko): 0
 Moyenne de partage de données de taille (ko): 0
 La moyenne de la pile de la taille (ko): 0
 Totale moyenne taille (ko): 0
 Maximum résidente taille (ko): 0
 Résident moyen de définir la taille (ko): 0
 Majeur (nécessitant I/O) des défauts de page: 0
 Mineur (récupérer une image) les défauts de page: 315
 Volontaire des commutations de contexte: 2
 Involontaire des changements de contexte: 0
 Swaps: 0
 Système de fichiers entrées: 0
 Système de fichiers de sorties: 0
 Prise des messages envoyés: 0
 Prise de messages reçus: 0
 Les signaux délivrés: 0
 Taille de la Page (octets): 4096
 Statut de sortie: 0

97voto

netj Points 36

(C'est un déjà répondu, vieille question.. mais juste pour le record :)

J'ai été inspiré par le Yang du script, et est venu avec ce petit outil, nommé memusg. J'ai simplement augmenté la fréquence d'échantillonnage de 0,1 à gérer beaucoup de court processus vivants. Au lieu de suivre un processus unique, j'ai fait de la mesure de flux rss somme des processus de groupe. (Oui, j'écris beaucoup de programmes qui travaillent ensemble), Il travaille actuellement sur Mac OS X et Linux. L'utilisation devait être similaire à celle de l' time:

memusg ls -alR / >/dev/null

Il ne montre que le pic pour le moment, mais je suis intéressé par de légères extensions pour l'enregistrement des autres (approximative) des statistiques.

Il est bon d'avoir un tel outil simple pour simplement prendre un coup d'oeil avant de commencer sérieusement le profilage.

72voto

jbeard4 Points 5680

Valgrind One-Liner :

``

Notez l’utilisation de--pages-comme-tas pour mesurer toute la mémoire dans un processus. Plus d’infos ici : http://valgrind.org/docs/manual/ms-manual.html

18voto

simon Points 5346

/usr/bin/Time a peut-être fait ce que vous voulez, en fait. Quelque chose comme.

 /usr/bin/time--format = '(% Xtext + % Ddata Mmax) » 

Voir time(1) pour plus de détails...

16voto

Yang Points 5050

Si le processus s’exécute pendant au moins deux secondes, vous pouvez utiliser le script bash suivant, qui va exécuter la ligne de commande donnée puis imprime dans stderr le pic RSS (substituer à n’importe quel autre attribut vous intéresse). C’est un peu léger, et ça marche pour moi avec le inclus dans Ubuntu 9.04 (dont je ne peux pas dire pour `` ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X