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);