Walt Mankowski on 28 Jan 2004 19:26:03 -0000 |
I have a program I'm working on that does number crunching on big matrices. It can run for a long time, and can eat up a lot of memory. This morning I tweaked the code and wanted to see if it's now using less memory. My first cut at doing this was to run the old and new code and look at them with top(1) while they were running. The old code had VIRT and RES on the order of 40 megs, and the new code was around 30 megs. Then I wanted to see if I could get a more accurate reading. I took a look at the man page for time(1), and saw that it could report on memory usage as well as run time and cpu usage. But when I run the program with time, the fields for memory usage always show up as 0. Here's a sample run: % /usr/bin/time -v ./cctl-bin ../data/train_med.txt /dev/null pda 1 0 0 >/dev/null Command being timed: "./cctl-bin ../data/train_med.txt /dev/null pda 1 0 0" User time (seconds): 46.19 System time (seconds): 0.21 Percent of CPU this job got: 82% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:56.24 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: 297 Minor (reclaiming a frame) page faults: 12248 Voluntary context switches: 0 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 Does anyone know why time(1) has so many fields set to 0? Is there a better utility I could be using to get this information? Thanks. Walt Attachment:
signature.asc
|
|