[Upravit :Funguje na Ubuntu 14.04:/usr/bin/time -v command
Ujistěte se, že používáte úplnou cestu.]
Vypadá to na /usr/bin/time
vám tuto informaci poskytne, pokud projdete -v
(toto je na Ubuntu 8.10). Viz např. Maximum resident set size
níže:
$ /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
(Toto je již zodpovězená stará otázka.. ale jen pro pořádek :)
Inspiroval jsem se Yangovým scénářem a přišel jsem s tímto malým nástrojem s názvem memusg. Jednoduše jsem zvýšil vzorkovací frekvenci na 0,1, abych zvládl mnoho krátkých životních procesů. Místo sledování jednoho procesu jsem ho nechal měřit rss součet skupiny procesů. (Jo, píšu spoustu samostatných programů, které spolupracují) V současné době to funguje na Mac OS X a Linux. Použití muselo být podobné jako u time
:
memusg ls -alR / >/dev/null
Zobrazuje pouze vrchol pro tuto chvíli, ale zajímají mě mírná rozšíření pro záznam dalších (hrubých) statistik.
Je dobré mít takový jednoduchý nástroj, abyste se mohli podívat, než začneme s jakýmkoli seriózním profilováním.