このコード
void print_usage(char * msg)
{
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
printf("Limits: %s\n", msg);
printf(" %s, %li\n", " maximum resident set size " , usage.ru_maxrss );
printf(" %s, %li\n", " integral shared memory size " , usage.ru_ixrss );
printf(" %s, %li\n", " integral unshared data size " , usage.ru_idrss );
printf(" %s, %li\n", " integral unshared stack size " , usage.ru_isrss );
printf(" %s, %li\n", " page reclaims " , usage.ru_minflt );
printf(" %s, %li\n", " page faults " , usage.ru_majflt );
printf(" %s, %li\n", " swaps " , usage.ru_nswap );
printf(" %s, %li\n", " block input operations " , usage.ru_inblock );
printf(" %s, %li\n", " block output operations " , usage.ru_oublock );
printf(" %s, %li\n", " messages sent " , usage.ru_msgsnd );
printf(" %s, %li\n", " messages received " , usage.ru_msgrcv );
printf(" %s, %li\n", " signals received " , usage.ru_nsignals);
printf(" %s, %li\n", " voluntary context switches " , usage.ru_nvcsw );
printf(" %s, %li\n", " involuntary context switches " , usage.ru_nivcsw );
}
かなり大きなプログラムで使用しても(jvmの開始後)、多くのフィールドでゼロのみを報告します
maximum resident set size , 0
integral shared memory size , 0
integral unshared data size , 0
integral unshared stack size , 0
page reclaims , 2514
page faults , 0
swaps , 0
block input operations , 0
block output operations , 0
messages sent , 0
messages received , 0
signals received , 0
voluntary context switches , 137
involuntary context switches , 1
ゼロ以外のフィールドは " *vcsw
"、" *flt
" です。
*rss
、*swap
、msg*
、*block
はすべて*signals
ゼロです。
壊れたものはありますか?
Linux は x86 2.6.30 です。