[Editar :Funciona en Ubuntu 14.04:/usr/bin/time -v command
Asegúrese de usar la ruta completa.]
Parece /usr/bin/time
te da esa información, si pasas -v
(esto es en Ubuntu 8.10). Véase, por ejemplo, Maximum resident set size
abajo:
$ /usr/bin/time -v ls / .... Command being timed: "ls /" User time (seconds): 0.00 System time (seconds): 0.01 Percent of CPU this job got: 250% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 315 Voluntary context switches: 2 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0
(Esta es una vieja pregunta ya respondida... pero solo para que conste :)
Me inspiré en el guión de Yang y se me ocurrió esta pequeña herramienta, llamada memusg. Simplemente aumenté la tasa de muestreo a 0.1 para manejar procesos de vida mucho más cortos. En lugar de monitorear un solo proceso, lo hice medir la suma rss del grupo de procesos. (Sí, escribo muchos programas separados que funcionan juntos) Actualmente funciona en Mac OS X y Linux. El uso tenía que ser similar al de time
:
memusg ls -alR / >/dev/null
Solo muestra el pico por el momento, pero estoy interesado en extensiones leves para registrar otras estadísticas (aproximadas).
Es bueno tener una herramienta tan simple para simplemente echar un vistazo antes de comenzar cualquier perfilado serio.