vm_meter.c (069e9bc1b4e6189140c16ee2d7277dc0301b3f71) | vm_meter.c (b0359e2c119950f23c14a526c24bab65994bde94) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94 | 1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94 |
34 * $Id: vm_meter.c,v 1.25 1998/03/30 09:56:49 phk Exp $ | 34 * $Id: vm_meter.c,v 1.26 1998/08/24 08:39:37 dfr Exp $ |
35 */ 36 37#include <sys/param.h> 38#include <sys/proc.h> 39#include <sys/systm.h> 40#include <sys/kernel.h> 41#include <sys/resource.h> 42#include <sys/vmmeter.h> 43 44#include <vm/vm.h> | 35 */ 36 37#include <sys/param.h> 38#include <sys/proc.h> 39#include <sys/systm.h> 40#include <sys/kernel.h> 41#include <sys/resource.h> 42#include <sys/vmmeter.h> 43 44#include <vm/vm.h> |
45#include <vm/vm_prot.h> 46#include <vm/vm_page.h> |
|
45#include <vm/vm_extern.h> 46#include <vm/vm_param.h> 47#include <sys/lock.h> 48#include <vm/pmap.h> 49#include <vm/vm_map.h> 50#include <vm/vm_object.h> 51#include <sys/sysctl.h> 52 --- 157 unchanged lines hidden (view full) --- 210 } 211 } 212 totalp->t_free = cnt.v_free_count + cnt.v_cache_count; 213 return (sysctl_handle_opaque(oidp, totalp, sizeof total, req)); 214} 215 216SYSCTL_PROC(_vm, VM_METER, vmmeter, CTLTYPE_OPAQUE|CTLFLAG_RD, 217 0, sizeof(struct vmtotal), vmtotal, "S,vmtotal", ""); | 47#include <vm/vm_extern.h> 48#include <vm/vm_param.h> 49#include <sys/lock.h> 50#include <vm/pmap.h> 51#include <vm/vm_map.h> 52#include <vm/vm_object.h> 53#include <sys/sysctl.h> 54 --- 157 unchanged lines hidden (view full) --- 212 } 213 } 214 totalp->t_free = cnt.v_free_count + cnt.v_cache_count; 215 return (sysctl_handle_opaque(oidp, totalp, sizeof total, req)); 216} 217 218SYSCTL_PROC(_vm, VM_METER, vmmeter, CTLTYPE_OPAQUE|CTLFLAG_RD, 219 0, sizeof(struct vmtotal), vmtotal, "S,vmtotal", ""); |
220SYSCTL_NODE(_vm, OID_AUTO, stats, CTLFLAG_RW, 0, "VM meter stats"); 221SYSCTL_NODE(_vm_stats, OID_AUTO, sys, CTLFLAG_RW, 0, "VM meter sys stats"); 222SYSCTL_NODE(_vm_stats, OID_AUTO, vm, CTLFLAG_RW, 0, "VM meter vm stats"); 223SYSCTL_NODE(_vm_stats, OID_AUTO, misc, CTLFLAG_RW, 0, "VM meter misc stats"); 224SYSCTL_INT(_vm_stats_sys, OID_AUTO, 225 v_swtch, CTLFLAG_RD, &cnt.v_swtch, 0, "Context switches"); 226SYSCTL_INT(_vm_stats_sys, OID_AUTO, 227 v_trap, CTLFLAG_RD, &cnt.v_trap, 0, "Traps"); 228SYSCTL_INT(_vm_stats_sys, OID_AUTO, 229 v_syscall, CTLFLAG_RD, &cnt.v_syscall, 0, "Syscalls"); 230SYSCTL_INT(_vm_stats_sys, OID_AUTO, 231 v_intr, CTLFLAG_RD, &cnt.v_intr, 0, "HW intr"); 232SYSCTL_INT(_vm_stats_sys, OID_AUTO, 233 v_soft, CTLFLAG_RD, &cnt.v_soft, 0, "SW intr"); 234SYSCTL_INT(_vm_stats_vm, OID_AUTO, 235 v_vm_faults, CTLFLAG_RD, &cnt.v_vm_faults, 0, "VM faults"); 236SYSCTL_INT(_vm_stats_vm, OID_AUTO, 237 v_cow_faults, CTLFLAG_RD, &cnt.v_cow_faults, 0, "COW faults"); 238SYSCTL_INT(_vm_stats_vm, OID_AUTO, 239 v_cow_optim, CTLFLAG_RD, &cnt.v_cow_optim, 0, "Optimized COW faults"); 240SYSCTL_INT(_vm_stats_vm, OID_AUTO, 241 v_zfod, CTLFLAG_RD, &cnt.v_zfod, 0, "Zero fill"); 242SYSCTL_INT(_vm_stats_vm, OID_AUTO, 243 v_ozfod, CTLFLAG_RD, &cnt.v_ozfod, 0, "Optimized zero fill"); 244SYSCTL_INT(_vm_stats_vm, OID_AUTO, 245 v_swapin, CTLFLAG_RD, &cnt.v_swapin, 0, "Swapin operations"); 246SYSCTL_INT(_vm_stats_vm, OID_AUTO, 247 v_swapout, CTLFLAG_RD, &cnt.v_swapout, 0, "Swapout operations"); 248SYSCTL_INT(_vm_stats_vm, OID_AUTO, 249 v_swappgsin, CTLFLAG_RD, &cnt.v_swappgsin, 0, "Swapin pages"); 250SYSCTL_INT(_vm_stats_vm, OID_AUTO, 251 v_swappgsout, CTLFLAG_RD, &cnt.v_swappgsout, 0, "Swapout pages"); 252SYSCTL_INT(_vm_stats_vm, OID_AUTO, 253 v_vnodein, CTLFLAG_RD, &cnt.v_vnodein, 0, "Vnodein operations"); 254SYSCTL_INT(_vm_stats_vm, OID_AUTO, 255 v_vnodeout, CTLFLAG_RD, &cnt.v_vnodeout, 0, "Vnodeout operations"); 256SYSCTL_INT(_vm_stats_vm, OID_AUTO, 257 v_vnodepgsin, CTLFLAG_RD, &cnt.v_vnodepgsin, 0, "Vnodein pages"); 258SYSCTL_INT(_vm_stats_vm, OID_AUTO, 259 v_vnodepgsout, CTLFLAG_RD, &cnt.v_vnodepgsout, 0, "Vnodeout pages"); 260SYSCTL_INT(_vm_stats_vm, OID_AUTO, 261 v_intrans, CTLFLAG_RD, &cnt.v_intrans, 0, "In transit page blocking"); 262SYSCTL_INT(_vm_stats_vm, OID_AUTO, 263 v_reactivated, CTLFLAG_RD, &cnt.v_reactivated, 0, "Reactivated pages"); 264SYSCTL_INT(_vm_stats_vm, OID_AUTO, 265 v_pdwakeups, CTLFLAG_RD, &cnt.v_pdwakeups, 0, "Pagedaemon wakeups"); 266SYSCTL_INT(_vm_stats_vm, OID_AUTO, 267 v_pdpages, CTLFLAG_RD, &cnt.v_pdpages, 0, "Pagedaemon page scans"); 268SYSCTL_INT(_vm_stats_vm, OID_AUTO, 269 v_dfree, CTLFLAG_RD, &cnt.v_dfree, 0, ""); 270SYSCTL_INT(_vm_stats_vm, OID_AUTO, 271 v_pfree, CTLFLAG_RD, &cnt.v_pfree, 0, ""); 272SYSCTL_INT(_vm_stats_vm, OID_AUTO, 273 v_tfree, CTLFLAG_RD, &cnt.v_tfree, 0, ""); 274SYSCTL_INT(_vm_stats_vm, OID_AUTO, 275 v_page_size, CTLFLAG_RD, &cnt.v_page_size, 0, ""); 276SYSCTL_INT(_vm_stats_vm, OID_AUTO, 277 v_page_count, CTLFLAG_RD, &cnt.v_page_count, 0, ""); 278SYSCTL_INT(_vm_stats_vm, OID_AUTO, 279 v_free_reserved, CTLFLAG_RD, &cnt.v_free_reserved, 0, ""); 280SYSCTL_INT(_vm_stats_vm, OID_AUTO, 281 v_free_target, CTLFLAG_RD, &cnt.v_free_target, 0, ""); 282SYSCTL_INT(_vm_stats_vm, OID_AUTO, 283 v_free_min, CTLFLAG_RD, &cnt.v_free_min, 0, ""); 284SYSCTL_INT(_vm_stats_vm, OID_AUTO, 285 v_free_count, CTLFLAG_RD, &cnt.v_free_count, 0, ""); 286SYSCTL_INT(_vm_stats_vm, OID_AUTO, 287 v_wire_count, CTLFLAG_RD, &cnt.v_wire_count, 0, ""); 288SYSCTL_INT(_vm_stats_vm, OID_AUTO, 289 v_active_count, CTLFLAG_RD, &cnt.v_active_count, 0, ""); 290SYSCTL_INT(_vm_stats_vm, OID_AUTO, 291 v_inactive_target, CTLFLAG_RD, &cnt.v_inactive_target, 0, ""); 292SYSCTL_INT(_vm_stats_vm, OID_AUTO, 293 v_inactive_count, CTLFLAG_RD, &cnt.v_inactive_count, 0, ""); 294SYSCTL_INT(_vm_stats_vm, OID_AUTO, 295 v_cache_count, CTLFLAG_RD, &cnt.v_cache_count, 0, ""); 296SYSCTL_INT(_vm_stats_vm, OID_AUTO, 297 v_cache_min, CTLFLAG_RD, &cnt.v_cache_min, 0, ""); 298SYSCTL_INT(_vm_stats_vm, OID_AUTO, 299 v_cache_max, CTLFLAG_RD, &cnt.v_cache_max, 0, ""); 300SYSCTL_INT(_vm_stats_vm, OID_AUTO, 301 v_pageout_free_min, CTLFLAG_RD, &cnt.v_pageout_free_min, 0, ""); 302SYSCTL_INT(_vm_stats_vm, OID_AUTO, 303 v_interrupt_free_min, CTLFLAG_RD, &cnt.v_interrupt_free_min, 0, ""); 304SYSCTL_INT(_vm_stats_misc, OID_AUTO, 305 zero_page_count, CTLFLAG_RD, &vm_page_zero_count, 0, ""); 306#if 0 307SYSCTL_INT(_vm_stats_misc, OID_AUTO, 308 page_mask, CTLFLAG_RD, &page_mask, 0, ""); 309SYSCTL_INT(_vm_stats_misc, OID_AUTO, 310 page_shift, CTLFLAG_RD, &page_shift, 0, ""); 311SYSCTL_INT(_vm_stats_misc, OID_AUTO, 312 first_page, CTLFLAG_RD, &first_page, 0, ""); 313SYSCTL_INT(_vm_stats_misc, OID_AUTO, 314 last_page, CTLFLAG_RD, &last_page, 0, ""); 315SYSCTL_INT(_vm_stats_misc, OID_AUTO, 316 vm_page_bucket_count, CTLFLAG_RD, &vm_page_bucket_count, 0, ""); 317SYSCTL_INT(_vm_stats_misc, OID_AUTO, 318 vm_page_hash_mask, CTLFLAG_RD, &vm_page_hash_mask, 0, ""); 319#endif |
|