Add the laundry page count to the displays of systat, top, and vmstat.
Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D8467
This commit is contained in:
parent
0ef0edf2bb
commit
cc59e3a79b
@ -28,7 +28,7 @@
|
||||
.\" @(#)systat.1 8.2 (Berkeley) 12/30/93
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd October 24, 2015
|
||||
.Dd November 10, 2016
|
||||
.Dt SYSTAT 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -411,7 +411,7 @@ as amounts of memory in kilobytes,
|
||||
pages wired down (`wire'),
|
||||
active pages (`act'),
|
||||
inactive pages (`inact'),
|
||||
pages on the cache queue (`cache'),
|
||||
dirty pages queued for laundering (`laund'),
|
||||
and
|
||||
free pages (`free').
|
||||
Note that the values displayed are the current transient ones;
|
||||
|
@ -92,7 +92,7 @@ static struct Info {
|
||||
u_int v_vnodepgsin; /* vnode_pager pages paged in */
|
||||
u_int v_vnodepgsout; /* vnode pager pages paged out */
|
||||
u_int v_intrans; /* intransit blocking page faults */
|
||||
u_int v_reactivated; /* number of pages reactivated from free list */
|
||||
u_int v_reactivated; /* number of pages reactivated by pagedaemon */
|
||||
u_int v_pdwakeups; /* number of times daemon has awaken from sleep */
|
||||
u_int v_pdpages; /* number of pages analyzed by daemon */
|
||||
|
||||
@ -107,7 +107,7 @@ static struct Info {
|
||||
u_int v_wire_count; /* number of pages wired down */
|
||||
u_int v_active_count; /* number of pages active */
|
||||
u_int v_inactive_count; /* number of pages inactive */
|
||||
u_int v_cache_count; /* number of pages on buffer cache queue */
|
||||
u_int v_laundry_count; /* number of pages in laundry queue */
|
||||
u_long v_kmem_map_size; /* Current kmem allocation size */
|
||||
struct vmtotal Total;
|
||||
struct nchstats nchstats;
|
||||
@ -343,7 +343,7 @@ labelkre(void)
|
||||
mvprintw(VMSTATROW + 12, VMSTATCOL + 9, "wire");
|
||||
mvprintw(VMSTATROW + 13, VMSTATCOL + 9, "act");
|
||||
mvprintw(VMSTATROW + 14, VMSTATCOL + 9, "inact");
|
||||
mvprintw(VMSTATROW + 15, VMSTATCOL + 9, "cache");
|
||||
mvprintw(VMSTATROW + 15, VMSTATCOL + 9, "laund");
|
||||
mvprintw(VMSTATROW + 16, VMSTATCOL + 9, "free");
|
||||
if (LINES - 1 > VMSTATROW + 17)
|
||||
mvprintw(VMSTATROW + 17, VMSTATCOL + 9, "buf");
|
||||
@ -519,7 +519,7 @@ showkre(void)
|
||||
putint(pgtokb(s.v_wire_count), VMSTATROW + 12, VMSTATCOL, 8);
|
||||
putint(pgtokb(s.v_active_count), VMSTATROW + 13, VMSTATCOL, 8);
|
||||
putint(pgtokb(s.v_inactive_count), VMSTATROW + 14, VMSTATCOL, 8);
|
||||
putint(pgtokb(s.v_cache_count), VMSTATROW + 15, VMSTATCOL, 8);
|
||||
putint(pgtokb(s.v_laundry_count), VMSTATROW + 15, VMSTATCOL, 8);
|
||||
putint(pgtokb(s.v_free_count), VMSTATROW + 16, VMSTATCOL, 8);
|
||||
if (LINES - 1 > VMSTATROW + 17)
|
||||
putint(s.bufspace / 1024, VMSTATROW + 17, VMSTATCOL, 8);
|
||||
@ -794,7 +794,7 @@ getinfo(struct Info *ls)
|
||||
GETSYSCTL("vm.stats.vm.v_wire_count", ls->v_wire_count);
|
||||
GETSYSCTL("vm.stats.vm.v_active_count", ls->v_active_count);
|
||||
GETSYSCTL("vm.stats.vm.v_inactive_count", ls->v_inactive_count);
|
||||
GETSYSCTL("vm.stats.vm.v_cache_count", ls->v_cache_count);
|
||||
GETSYSCTL("vm.stats.vm.v_laundry_count", ls->v_laundry_count);
|
||||
GETSYSCTL("vfs.bufspace", ls->bufspace);
|
||||
GETSYSCTL("kern.maxvnodes", ls->desiredvnodes);
|
||||
GETSYSCTL("vfs.numvnodes", ls->numvnodes);
|
||||
|
@ -178,7 +178,7 @@ char *cpustatenames[] = {
|
||||
|
||||
int memory_stats[7];
|
||||
char *memorynames[] = {
|
||||
"K Active, ", "K Inact, ", "K Wired, ", "K Cache, ", "K Buf, ",
|
||||
"K Active, ", "K Inact, ", "K Laundry, ", "K Wired, ", "K Buf, ",
|
||||
"K Free", NULL
|
||||
};
|
||||
|
||||
@ -503,8 +503,8 @@ get_system_info(struct system_info *si)
|
||||
GETSYSCTL("vfs.bufspace", bufspace);
|
||||
GETSYSCTL("vm.stats.vm.v_active_count", memory_stats[0]);
|
||||
GETSYSCTL("vm.stats.vm.v_inactive_count", memory_stats[1]);
|
||||
GETSYSCTL("vm.stats.vm.v_wire_count", memory_stats[2]);
|
||||
GETSYSCTL("vm.stats.vm.v_cache_count", memory_stats[3]);
|
||||
GETSYSCTL("vm.stats.vm.v_laundry_count", memory_stats[2]);
|
||||
GETSYSCTL("vm.stats.vm.v_wire_count", memory_stats[3]);
|
||||
GETSYSCTL("vm.stats.vm.v_free_count", memory_stats[5]);
|
||||
GETSYSCTL("vm.stats.vm.v_swappgsin", nspgsin);
|
||||
GETSYSCTL("vm.stats.vm.v_swappgsout", nspgsout);
|
||||
|
@ -2,8 +2,8 @@
|
||||
.SH "FreeBSD NOTES"
|
||||
|
||||
.SH DESCRIPTION OF MEMORY
|
||||
Mem: 9220K Active, 1M Inact, 3284K Wired, 1M Cache, 2M Buf, 1320K Free
|
||||
ARC: 2048K Total, 342K MRU, 760K MFU, 272K Anon, 232K Header, 442K Other
|
||||
Mem: 9220K Active, 1M Inact, 1M Laundry, 3284K Wired, 2M Buf, 932K Free
|
||||
ARC: 2048K Total, 342K MRU, 760K MFU, 272K Anon, 96K Header, 442K Other
|
||||
Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104K Out
|
||||
.TP
|
||||
.B K:
|
||||
@ -23,15 +23,14 @@ Gigabyte
|
||||
number of bytes active
|
||||
.TP
|
||||
.B Inact:
|
||||
number of bytes inactive
|
||||
number of clean bytes inactive
|
||||
.TP
|
||||
.B Laundry:
|
||||
number of dirty bytes queued for laundering
|
||||
.TP
|
||||
.B Wired:
|
||||
number of bytes wired down, including BIO-level cached file data pages
|
||||
.TP
|
||||
.B Cache:
|
||||
number of clean bytes caching data that are available for
|
||||
immediate reallocation
|
||||
.TP
|
||||
.B Buf:
|
||||
number of bytes used for BIO-level disk caching
|
||||
.TP
|
||||
|
@ -567,7 +567,7 @@ fill_vmmeter(struct vmmeter *vmmp)
|
||||
GET_VM_STATS(vm, v_reactivated);
|
||||
GET_VM_STATS(vm, v_pdwakeups);
|
||||
GET_VM_STATS(vm, v_pdpages);
|
||||
GET_VM_STATS(vm, v_tcached);
|
||||
GET_VM_STATS(vm, v_pdshortfalls);
|
||||
GET_VM_STATS(vm, v_dfree);
|
||||
GET_VM_STATS(vm, v_pfree);
|
||||
GET_VM_STATS(vm, v_tfree);
|
||||
@ -581,7 +581,7 @@ fill_vmmeter(struct vmmeter *vmmp)
|
||||
GET_VM_STATS(vm, v_active_count);
|
||||
GET_VM_STATS(vm, v_inactive_target);
|
||||
GET_VM_STATS(vm, v_inactive_count);
|
||||
GET_VM_STATS(vm, v_cache_count);
|
||||
GET_VM_STATS(vm, v_laundry_count);
|
||||
GET_VM_STATS(vm, v_pageout_free_min);
|
||||
GET_VM_STATS(vm, v_interrupt_free_min);
|
||||
/*GET_VM_STATS(vm, v_free_severe);*/
|
||||
@ -1059,7 +1059,9 @@ dosum(void)
|
||||
sum.v_pdwakeups);
|
||||
xo_emit("{:page-daemon-pages/%9u} {N:pages examined by the page daemon}\n",
|
||||
sum.v_pdpages);
|
||||
xo_emit("{:reactivated/%9u} {N:pages reactivated}\n",
|
||||
xo_emit("{:page-reclamation-shortfalls/%9u} {N:clean page reclamation shortfalls}\n",
|
||||
sum.v_pdshortfalls);
|
||||
xo_emit("{:reactivated/%9u} {N:pages reactivated by the page daemon}\n",
|
||||
sum.v_reactivated);
|
||||
xo_emit("{:copy-on-write-faults/%9u} {N:copy-on-write faults}\n",
|
||||
sum.v_cow_faults);
|
||||
@ -1095,8 +1097,8 @@ dosum(void)
|
||||
sum.v_active_count);
|
||||
xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n",
|
||||
sum.v_inactive_count);
|
||||
xo_emit("{:vm-cache/%9u} {N:pages in VM cache}\n",
|
||||
sum.v_cache_count);
|
||||
xo_emit("{:laundry-pages/%9u} {N:pages in the laundry queue}\n",
|
||||
sum.v_laundry_count);
|
||||
xo_emit("{:wired-pages/%9u} {N:pages wired down}\n",
|
||||
sum.v_wire_count);
|
||||
xo_emit("{:free-pages/%9u} {N:pages free}\n",
|
||||
|
Loading…
x
Reference in New Issue
Block a user