endif
# Separate rule for this directory, to use -fpic or -fPIC
-$(LIBOBJ): proc/%.o: proc/%.c
+$(filter-out proc/version.o,$(LIBOBJ)): proc/%.o: proc/%.c
$(CC) -c $(CFLAGS) $(FPIC) $< -o $@
LIB_X := COPYING module.mk
proc/version.o: proc/version.c proc/version.h
-ifdef MINORVERSION
- $(strip $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\" -c -o $@ $<)
-else
- $(strip $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -c -o $@ $<)
-endif
+ $(CC) $(CFLAGS) $(FPIC) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\" -c -o $@ $<
.nf
r: The number of processes waiting for run time.
b: The number of processes in uninterruptable sleep.
-w: The number of processes swapped out but otherwise runnable. This
- field is calculated, but Linux never desperation swaps.
.fi
.PP
.SS
.B "CPU "
These are percentages of total CPU time.
.nf
-us: user time
-sy: system time
-id: idle time
+us: Time spent running non-kernel code. (user time, including nice time)
+sy: Time spent running kernel code. (system time)
+id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
+wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.
.nf
.SH NOTES
.B "vmstat "
.B "vmstat "
does not count itself as a running process.
.PP
-All linux blocks are currently 1k, except for CD-ROM blocks which are 2k.
+All linux blocks are currently 1024 bytes. Old kernels may report
+blocks as 512 bytes, 2048 bytes, or 4096 bytes.
.PP
.SH FILES
.ta
//////////////////////////////////////////////////////////////////////////////////////
+#if 0
+
static void old_header(void){
printf("%8s%28s%10s%12s%11s%9s\n",
"procs","memory","swap","io","system","cpu");
);
}
}
-
+#endif
//////////////////////////////////////////////////////////////////////////////////////
+#if 0
// produce: " 6 ", "123 ", "123k ", etc.
static int format_1024(unsigned long long val64, char *dst){
unsigned oldval;
}
return sprintf(dst, "%3u%c ", val32, suffix[level]);
}
-
-
-/*
-procs -----------memory---------- --swap- ----io--- ---system--- ---cpu---
- r b swpd free buff cache si so bi bo in cs us sy id wa
-*/
+#endif
static void new_header(void){
- printf("%5s%28s%10s%12s%11s%12s\n",
- "procs","memory","swap","io","system","cpu");
- printf("%2s %2s %2s %6s %6s %6s %6s %4s %4s %5s %5s %4s %5s %2s %2s %2s %2s\n",
- "r","b","w","swpd","free",
- a_option?"inact":"buff", a_option?"active":"cache",
- "si","so","bi","bo",
- "in","cs","us","sy","id","wa");
+ printf("procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----\n");
+ printf(
+ "%2s %2s %6s %6s %6s %6s %4s %4s %5s %5s %4s %5s %2s %2s %2s %2s\n",
+ "b","w",
+ "swpd", "free", a_option?"inact":"buff", a_option?"active":"cache",
+ "si","so",
+ "bi","bo",
+ "in","cs",
+ "us","sy","id","wa"
+ );
}
static void new_format(void) {
int debt = 0; // handle idle ticks running backwards
sleep_half=(sleep_time/2);
- old_header();
+ new_header();
getrunners(&running,&blocked,&r_swapp,&d_swapp);
meminfo();
for(i=1;i<num_updates;i++) { /* \\\\\\\\\\\\\\\\\\\\ main loop ////////////////// */
sleep(sleep_time);
- if (moreheaders && ((i%height)==0)) old_header();
+ if (moreheaders && ((i%height)==0)) new_header();
tog= !tog;
getrunners(&running,&blocked,&r_swapp,&d_swapp);
setlinebuf(stdout);
- old_format();
+ new_format();
return 0;
}