Download raw body.
vmstat -m columns
vmstat -m output for malloc buckets has become unreadable.
Memory statistics by type Type Kern
Type InUse MemUse HighUse Limit Requests Limit Size(s)
devbuf 5076 17585K 18347K219874K 9164 0 16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288
pcb 17 13K 13K219874K 17 0 16,32,1024
rtable 58 2K 3K219874K 270 0 16,32,64,128,256
What do the words "Type Kern" in the first header mean?
The first column is ragged, making it hard to read. Text should be left
aligned.
The limit column has exploded.
I think this is an improvement. I kept one space on the left, so it's
easier to see when lines wrap.
Memory statistics by type
Type InUse MemUse HighUse Limit Requests Limit Size(s)
devbuf 5074 17557K 18347K 219874K 9210 0 16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288
pcb 17 13K 13K 219874K 17 0 16,32,1024
rtable 58 2K 3K 219874K 273 0 16,32,64,128,256
Index: vmstat.c
===================================================================
RCS file: /home/cvs/src/usr.bin/vmstat/vmstat.c,v
diff -u -p -r1.159 vmstat.c
--- vmstat.c 10 Mar 2025 19:52:57 -0000 1.159
+++ vmstat.c 20 May 2025 03:01:45 -0000
@@ -854,14 +854,13 @@ domem(void)
printf("\n");
}
+ (void)printf("\nMemory statistics by type\n");
(void)printf(
- "\nMemory statistics by type Type Kern\n");
- (void)printf(
-" Type InUse MemUse HighUse Limit Requests Limit Size(s)\n");
+" Type InUse MemUse HighUse Limit Requests Limit Size(s)\n");
for (i = 0, ks = &kmemstats[0]; i < M_LAST; i++, ks++) {
if (ks->ks_calls == 0)
continue;
- (void)printf("%14s%6ld%6ldK%7ldK%6ldK%9ld%5u",
+ (void)printf(" %-13s%6ld%6ldK%7ldK%8ldK%9ld%6u",
kmemnames[i] ? kmemnames[i] : "undefined",
ks->ks_inuse, (ks->ks_memuse + 1023) / 1024,
(ks->ks_maxused + 1023) / 1024,
@@ -872,7 +871,7 @@ domem(void)
if ((ks->ks_size & j) == 0)
continue;
if (first)
- printf(" %d", j);
+ printf(" %d", j);
else
printf(",%d", j);
first = 0;
vmstat -m columns