Open pb-jchin opened 9 years ago
Benchmarking is necessary. I'm missing it in v.0.3.0...is there output there somewhere?
Hmm. At the moment, it's on the merge tasks and the consensus tasks. The results should appear in log files somewhere. What else do you need timed?
Hi, Chris,
We need daligner as well. (It uses even more cpu than the merge and consensus tasks.)
Thanks! David
@pb-jchin, I see neither /usr/local/time
nor /usr/local/bin/time
.
We could make this a configuration setting, to let the user select time
. Is that worth it?
@pb-cdunn, try to man 1 time
, I am not sure if it is default to CentOS. The time
command certainly log more information beyond CPU usage. It also can log memory usage. That was why we used it initially. (The alternative way is to do some quick /proc/cpu/* peeking...but that will be too much for now...)
Are you saying you would like to see more than the default information?
The resource specifiers, which are a superset of those recognized by the tcsh(1) builtin `time' command, are:
% A literal `%'.
C Name and command line arguments of the command being timed.
D Average size of the process's unshared data area, in Kilobytes.
E Elapsed real (wall clock) time used by the process, in [hours:]minutes:seconds.
F Number of major, or I/O-requiring, page faults that occurred while the process was running. These are faults where the page has
actually migrated out of primary memory.
I Number of file system inputs by the process.
K Average total (data+stack+text) memory use of the process, in Kilobytes.
M Maximum resident set size of the process during its lifetime, in Kilobytes.
O Number of file system outputs by the process.
P Percentage of the CPU that this job got. This is just user + system times divided by the total running time. It also prints a
percentage sign.
R Number of minor, or recoverable, page faults. These are pages that are not valid (so they fault) but which have not yet been
claimed by other virtual pages. Thus the data in the page is still valid but the system tables must be updated.
S Total number of CPU-seconds used by the system on behalf of the process (in kernel mode), in seconds.
U Total number of CPU-seconds that the process used directly (in user mode), in seconds.
W Number of times the process was swapped out of main memory.
X Average amount of shared text in the process, in Kilobytes.
Z System's page size, in bytes. This is a per-system constant, but varies between systems.
c Number of times the process was context-switched involuntarily (because the time slice expired).
e Elapsed real (wall clock) time used by the process, in seconds.
k Number of signals delivered to the process.
p Average unshared stack size of the process, in Kilobytes.
r Number of socket messages received by the process.
s Number of socket messages sent by the process.
t Average resident set size of the process, in Kilobytes.
w Number of times that the program was context-switched voluntarily, for instance while waiting for an I/O operation to complete.
x Exit status of the command.
/usr/local/time
is used for benchmark purpose. we current set it default tobash
's internaltime
command. If no benchmark necessary, we can drop if. If benchmark is needed, then the/usr/local/time
provides more useful information the thebash
internaltime
command.I think if no benchmark needed, we should drop
time
totally.