Module Name: src
Committed By: simonb
Date: Tue Aug 1 04:20:14 UTC 2023
Modified Files:
src/usr.bin/vmstat: vmstat.c
Log Message:
For vmstat -mW, add a total KB consumed column and widen a couple of
other fields.
To generate a diff of this commit:
cvs rdiff -u -r1.256 -r1.257 src/usr.bin/vmstat/vmstat.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/vmstat/vmstat.c
diff -u src/usr.bin/vmstat/vmstat.c:1.256 src/usr.bin/vmstat/vmstat.c:1.257
--- src/usr.bin/vmstat/vmstat.c:1.256 Sun Oct 23 23:30:31 2022
+++ src/usr.bin/vmstat/vmstat.c Tue Aug 1 04:20:14 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: vmstat.c,v 1.256 2022/10/23 23:30:31 simonb Exp $ */
+/* $NetBSD: vmstat.c,v 1.257 2023/08/01 04:20:14 simonb Exp $ */
/*-
* Copyright (c) 1998, 2000, 2001, 2007, 2019, 2020
@@ -71,7 +71,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)vmstat.c 8.2 (Berkeley) 3/1/95";
#else
-__RCSID("$NetBSD: vmstat.c,v 1.256 2022/10/23 23:30:31 simonb Exp $");
+__RCSID("$NetBSD: vmstat.c,v 1.257 2023/08/01 04:20:14 simonb Exp $");
#endif
#endif /* not lint */
@@ -1466,9 +1466,9 @@ dopool_sysctl(int verbose, int wide)
(void)printf("Memory resource pool statistics\n");
(void)printf(
- "%-*s%*s%*s%*s%*s%s%s%*s%*s%*s%s%*s%6s%*s%*s%s%s\n",
+ "%-*s%*s%*s%*s%*s%s%s%*s%*s%*s%s%*s%6s%*s%*s%s%s%s\n",
wide ? 16 : 11, "Name",
- wide ? 7 : 5, "Size",
+ wide ? 9 : 5, "Size",
wide ? 13 : 9, "Requests",
wide ? 8 : 5, "Fail",
wide ? 13 : 9, "Releases",
@@ -1477,13 +1477,14 @@ dopool_sysctl(int verbose, int wide)
wide ? 11 : 6, "Pgreq",
wide ? 11 : 6, "Pgrel",
wide ? 9 : 6, "Npage",
- wide ? " PageSz" : "",
+ wide ? " PageSz" : "",
wide ? 8 : 6, "Hiwat",
"Minpg",
wide ? 9 : 6, "Maxpg",
wide ? 8 : 5, "Idle",
wide ? " Flags" : "",
- wide ? " Util" : "");
+ wide ? " Util" : "",
+ wide ? " TotalKB" : "");
name_len = MIN((int)sizeof(pp->pr_wchan), wide ? 16 : 11);
for (i = 0; i < len; ++i) {
@@ -1497,7 +1498,7 @@ dopool_sysctl(int verbose, int wide)
pp->pr_maxpages);
ovflw = 0;
PRWORD(ovflw, "%-*s", name_len, 0, pp->pr_wchan);
- PRWORD(ovflw, " %*" PRIu64, wide ? 7 : 5, 1, pp->pr_size);
+ PRWORD(ovflw, " %*" PRIu64, wide ? 9 : 5, 1, pp->pr_size);
PRWORD(ovflw, " %*" PRIu64, wide ? 13 : 9, 1, pp->pr_nget);
pool_totals.pt_nget += pp->pr_nget;
PRWORD(ovflw, " %*" PRIu64, wide ? 8 : 5, 1, pp->pr_nfail);
@@ -1517,7 +1518,7 @@ dopool_sysctl(int verbose, int wide)
PRWORD(ovflw, " %*" PRIu64, wide ? 9 : 6, 1, pp->pr_npages);
pool_totals.pt_npages += pp->pr_npages;
if (wide)
- PRWORD(ovflw, " %*" PRIu64, 7, 1, pp->pr_pagesize);
+ PRWORD(ovflw, " %*" PRIu64, 9, 1, pp->pr_pagesize);
PRWORD(ovflw, " %*" PRIu64, wide ? 8 : 6, 1, pp->pr_hiwat);
PRWORD(ovflw, " %*" PRIu64, 6, 1, pp->pr_minpages);
PRWORD(ovflw, " %*s", wide ? 9 : 6, 1, maxp);
@@ -1540,17 +1541,19 @@ dopool_sysctl(int verbose, int wide)
total += this_total;
}
if (wide) {
- if (this_total == 0)
+ if (this_total == 0) {
(void)printf(" ---");
- else
- (void)printf(" %5.1f%%",
- (100.0 * this_inuse) / this_total);
+ } else {
+ (void)printf(" %5.1f%% %10" PRIu64,
+ (100.0 * this_inuse) / this_total,
+ this_total / KILO);
+ }
}
(void)printf("\n");
}
ovflw = 0;
PRWORD(ovflw, "%-*s", name_len, 0, "Totals");
- PRWORD(ovflw, " %*s", wide ? 7 : 5, 1, "");
+ PRWORD(ovflw, " %*s", wide ? 9 : 5, 1, "");
PRWORD(ovflw, " %*" PRIu64, wide ? 13 : 9, 1, pool_totals.pt_nget);
PRWORD(ovflw, " %*" PRIu64, wide ? 8 : 5, 1, pool_totals.pt_nfail);
PRWORD(ovflw, " %*" PRIu64, wide ? 13 : 9, 1, pool_totals.pt_nput);
@@ -1616,9 +1619,9 @@ dopool(int verbose, int wide)
if (first) {
(void)printf("Memory resource pool statistics\n");
(void)printf(
- "%-*s%*s%*s%*s%*s%s%s%*s%*s%*s%s%*s%6s%*s%*s%s%s\n",
+ "%-*s%*s%*s%*s%*s%s%s%*s%*s%*s%s%*s%6s%*s%*s%s%s%s\n",
wide ? 16 : 11, "Name",
- wide ? 7 : 5, "Size",
+ wide ? 9 : 5, "Size",
wide ? 13 : 9, "Requests",
wide ? 8 : 5, "Fail",
wide ? 13 : 9, "Releases",
@@ -1627,13 +1630,14 @@ dopool(int verbose, int wide)
wide ? 11 : 6, "Pgreq",
wide ? 11 : 6, "Pgrel",
wide ? 9 : 6, "Npage",
- wide ? " PageSz" : "",
+ wide ? " PageSz" : "",
wide ? 8 : 6, "Hiwat",
"Minpg",
wide ? 9 : 6, "Maxpg",
wide ? 8 : 5, "Idle",
wide ? " Flags" : "",
- wide ? " Util" : "");
+ wide ? " Util" : "",
+ wide ? " TotalKB" : "");
first = 0;
}
if (pp->pr_nget == 0 && !verbose)
@@ -1645,7 +1649,7 @@ dopool(int verbose, int wide)
pp->pr_maxpages);
ovflw = 0;
PRWORD(ovflw, "%-*s", wide ? 16 : 11, 0, name);
- PRWORD(ovflw, " %*u", wide ? 7 : 5, 1, pp->pr_size);
+ PRWORD(ovflw, " %*u", wide ? 9 : 5, 1, pp->pr_size);
PRWORD(ovflw, " %*lu", wide ? 13 : 9, 1, pp->pr_nget);
pool_totals.pt_nget += pp->pr_nget;
PRWORD(ovflw, " %*lu", wide ? 8 : 5, 1, pp->pr_nfail);
@@ -1665,7 +1669,7 @@ dopool(int verbose, int wide)
PRWORD(ovflw, " %*u", wide ? 9 : 6, 1, pp->pr_npages);
pool_totals.pt_npages += pp->pr_npages;
if (wide)
- PRWORD(ovflw, " %*u", 7, 1, pa.pa_pagesz);
+ PRWORD(ovflw, " %*u", 9, 1, pa.pa_pagesz);
PRWORD(ovflw, " %*u", wide ? 8 : 6, 1, pp->pr_hiwat);
PRWORD(ovflw, " %*u", 6, 1, pp->pr_minpages);
PRWORD(ovflw, " %*s", wide ? 9 : 6, 1, maxp);
@@ -1688,17 +1692,19 @@ dopool(int verbose, int wide)
total += this_total;
}
if (wide) {
- if (this_total == 0)
+ if (this_total == 0) {
(void)printf(" ---");
- else
- (void)printf(" %5.1f%%",
- (100.0 * this_inuse) / this_total);
+ } else {
+ (void)printf(" %5.1f%% %10" PRIu64,
+ (100.0 * this_inuse) / this_total,
+ this_total / KILO);
+ }
}
(void)printf("\n");
}
ovflw = 0;
PRWORD(ovflw, "%-*s", wide ? 16 : 11, 0, "Totals");
- PRWORD(ovflw, " %*s", wide ? 7 : 5, 1, "");
+ PRWORD(ovflw, " %*s", wide ? 9 : 5, 1, "");
PRWORD(ovflw, " %*" PRIu64, wide ? 13 : 9, 1, pool_totals.pt_nget);
PRWORD(ovflw, " %*" PRIu64, wide ? 8 : 5, 1, pool_totals.pt_nfail);
PRWORD(ovflw, " %*" PRIu64, wide ? 13 : 9, 1, pool_totals.pt_nput);