Lines Matching +full:refresh +full:- +full:rate +full:- +full:hz
1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
95 static int hz, hdrcnt, maxshowdevs; variable
155 static volatile sig_atomic_t wresized; /* Tty resized when non-zero. */
218 while ((c = getopt(argc, argv, "ac:fhHiM:mN:n:oPp:sw:z")) != -1) { in main()
281 argc -= optind; in main()
287 xo_set_options(NULL, "no-humanize"); in main()
346 xo_errx(1, "Cannot use -P with crash dumps"); in main()
370 reps = -1; in main()
415 if (devstat_getdevs(NULL, &cur) == -1) in getdrivedata()
418 num_devices = cur.dinfo->numdevs; in getdrivedata()
419 generation = cur.dinfo->generation; in getdrivedata()
431 specified_devices[num_devices_specified - 1] = *argv; in getdrivedata()
458 * or 1. If we get back -1, though, there is an error. in getdrivedata()
461 &select_generation, generation, cur.dinfo->devices, in getdrivedata()
464 maxshowdevs, 0) == -1) in getdrivedata()
489 vmmp->name = kvm_counter_u64_fetch(kd, (u_long)vm_cnt.name) in fill_vmmeter()
522 size = sizeof(vmmp->name); \ in fill_vmmeter()
523 mysysctl("vm.stats." #cat "." #name, &vmmp->name, &size); \ in fill_vmmeter()
620 maxid = (size / CPUSTATES / sizeof(long)) - 1; in getcpuinfo()
654 * If the user stops the program (control-Z) and then resumes it, in dovmstat()
676 kread(X_STATHZ, &hz, sizeof(hz)); in dovmstat()
677 if (!hz) in dovmstat()
678 kread(X_HZ, &hz, sizeof(hz)); in dovmstat()
684 hz = clockrate.hz; in dovmstat()
694 if (!--hdrcnt) in dovmstat()
718 * Here what we want to do is refresh our device stats. in dovmstat()
725 case -1: in dovmstat()
729 num_devices = cur.dinfo->numdevs; in dovmstat()
730 generation = cur.dinfo->generation; in dovmstat()
734 generation, cur.dinfo->devices, in dovmstat()
740 case -1: in dovmstat()
758 "{:swapped-out/%2ld}", total.t_rq - 1, total.t_dw + in dovmstat()
762 #define rate(x) (unsigned long)(((x) * rate_adj + halfuptime) / uptime) in dovmstat() macro
763 xo_emit(" {[:4}{h,hn-decimal:available-memory/%ju}{]:}", in dovmstat()
765 xo_emit(" {[:4}{h,hn-decimal:free-memory/%ju}{]:}", in dovmstat()
767 xo_emit(" {[:4}{h,hn-decimal,hn-1000:total-page-faults/%lu}{]:} ", in dovmstat()
768 rate(sum.v_vm_faults - osum.v_vm_faults)); in dovmstat()
771 xo_open_container("paging-rates"); in dovmstat()
772 xo_emit("{:page-reactivated/%3lu} ", in dovmstat()
773 rate(sum.v_reactivated - osum.v_reactivated)); in dovmstat()
774 xo_emit("{:paged-in/%3lu} ", in dovmstat()
775 rate(sum.v_swapin + sum.v_vnodein - in dovmstat()
777 xo_emit("{:paged-out/%3lu}", in dovmstat()
778 rate(sum.v_swapout + sum.v_vnodeout - in dovmstat()
780 xo_emit(" {[:4}{h,hn-decimal,hn-1000:freed/%lu}{]:}", in dovmstat()
781 rate(sum.v_tfree - osum.v_tfree)); in dovmstat()
782 xo_emit(" {[:4}{h,hn-decimal,hn-1000:scanned/%lu}{]:}", in dovmstat()
783 rate(sum.v_pdpages - osum.v_pdpages)); in dovmstat()
784 xo_close_container("paging-rates"); in dovmstat()
787 xo_open_container("fault-rates"); in dovmstat()
788 xo_emit(" {[:4}{h,hn-decimal,hn-1000:interrupts/%lu}{]:}" in dovmstat()
789 " {[:4}{h,hn-decimal,hn-1000:system-calls/%lu}{]:}" in dovmstat()
790 " {[:4}{h,hn-decimal,hn-1000:context-switches/%lu}{]:}", in dovmstat()
791 rate(sum.v_intr - osum.v_intr), in dovmstat()
792 rate(sum.v_syscall - osum.v_syscall), in dovmstat()
793 rate(sum.v_swtch - osum.v_swtch)); in dovmstat()
794 xo_close_container("fault-rates"); in dovmstat()
802 if (reps >= 0 && --reps <= 0) in dovmstat()
808 * We round upward to avoid losing low-frequency events in dovmstat()
827 xo_emit(" {T:/disks %*s} ", num_shown * 5 - 7, ""); in printhdr()
894 if (status == -1 && errno == EINTR) in doresize()
896 else if (status == -1) in doresize()
899 winlines = w.ws_row - 3; in doresize()
932 xo_open_container("summary-statistics"); in dosum()
933 xo_emit("{:context-switches/%9u} {N:cpu context switches}\n", in dosum()
937 xo_emit("{:software-interrupts/%9u} {N:software interrupts}\n", in dosum()
940 xo_emit("{:system-calls/%9u} {N:system calls}\n", in dosum()
942 xo_emit("{:kernel-threads/%9u} {N:kernel threads created}\n", in dosum()
949 xo_emit("{:swap-ins/%9u} {N:swap pager pageins}\n", in dosum()
951 xo_emit("{:swap-in-pages/%9u} {N:swap pager pages paged in}\n", in dosum()
953 xo_emit("{:swap-outs/%9u} {N:swap pager pageouts}\n", in dosum()
955 xo_emit("{:swap-out-pages/%9u} {N:swap pager pages paged out}\n", in dosum()
957 xo_emit("{:vnode-page-ins/%9u} {N:vnode pager pageins}\n", in dosum()
959 xo_emit("{:vnode-page-in-pages/%9u} {N:vnode pager pages paged in}\n", in dosum()
961 xo_emit("{:vnode-page-outs/%9u} {N:vnode pager pageouts}\n", in dosum()
963 xo_emit("{:vnode-page-out-pages/%9u} {N:vnode pager pages paged out}\n", in dosum()
965 xo_emit("{:page-daemon-wakeups/%9u} {N:page daemon wakeups}\n", in dosum()
967 xo_emit("{:page-daemon-pages/%9u} {N:pages examined by the page " in dosum()
969 xo_emit("{:page-reclamation-shortfalls/%9u} {N:clean page reclamation " in dosum()
973 xo_emit("{:copy-on-write-faults/%9u} {N:copy-on-write faults}\n", in dosum()
975 xo_emit("{:copy-on-write-optimized-faults/%9u} {N:copy-on-write " in dosum()
977 xo_emit("{:zero-fill-pages/%9u} {N:zero fill pages zeroed}\n", in dosum()
979 xo_emit("{:zero-fill-prezeroed/%9u} {N:zero fill pages prezeroed}\n", in dosum()
981 xo_emit("{:intransit-blocking/%9u} {N:intransit blocking page faults}\n", in dosum()
983 xo_emit("{:total-faults/%9u} {N:total VM faults taken}\n", in dosum()
985 xo_emit("{:faults-requiring-io/%9u} {N:page faults requiring I\\/O}\n", in dosum()
987 xo_emit("{:faults-from-thread-creation/%9u} {N:pages affected by " in dosum()
989 xo_emit("{:faults-from-fork/%9u} {N:pages affected by fork}()\n", in dosum()
991 xo_emit("{:faults-from-vfork/%9u} {N:pages affected by vfork}()\n", in dosum()
993 xo_emit("{:pages-rfork/%9u} {N:pages affected by rfork}()\n", in dosum()
995 xo_emit("{:pages-freed/%9u} {N:pages freed}\n", in dosum()
997 xo_emit("{:pages-freed-by-daemon/%9u} {N:pages freed by daemon}\n", in dosum()
999 xo_emit("{:pages-freed-on-exit/%9u} {N:pages freed by exiting processes}\n", in dosum()
1001 xo_emit("{:active-pages/%9u} {N:pages active}\n", in dosum()
1003 xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n", in dosum()
1005 xo_emit("{:laundry-pages/%9u} {N:pages in the laundry queue}\n", in dosum()
1007 xo_emit("{:wired-pages/%9u} {N:pages wired down}\n", in dosum()
1009 xo_emit("{:virtual-user-wired-pages/%9lu} {N:virtual user pages wired " in dosum()
1011 xo_emit("{:nofree-pages/%9u} {N:permanently allocated pages}\n", in dosum()
1013 xo_emit("{:free-pages/%9u} {N:pages free}\n", in dosum()
1015 xo_emit("{:bytes-per-page/%9u} {N:bytes per page}\n", sum.v_page_size); in dosum()
1027 xo_emit("{:total-name-lookups/%9ld} {N:total name lookups}\n", in dosum()
1030 "({:positive-cache-hits/%ld}% pos + " in dosum()
1031 "{:negative-cache-hits/%ld}% {N:neg}) " in dosum()
1032 "system {:cache-hit-percent/%ld}% per-directory\n", in dosum()
1037 "{L:falsehits} {:false-hits/%ld}%, " in dosum()
1038 "{L:toolong} {:too-long/%ld}%\n", "", in dosum()
1042 xo_close_container("summary-statistics"); in dosum()
1050 xo_open_container("fork-statistics"); in doforkst()
1051 xo_emit("{:fork/%u} {N:forks}, {:fork-pages/%u} {N:pages}, " in doforkst()
1052 "{L:average} {:fork-average/%.2f}\n", in doforkst()
1056 xo_emit("{:vfork/%u} {N:vforks}, {:vfork-pages/%u} {N:pages}, " in doforkst()
1057 "{L:average} {:vfork-average/%.2f}\n", in doforkst()
1061 xo_emit("{:rfork/%u} {N:rforks}, {:rfork-pages/%u} {N:pages}, " in doforkst()
1062 "{L:average} {:rfork-average/%.2f}\n", in doforkst()
1066 xo_close_container("fork-statistics"); in doforkst()
1078 cur.cp_time[state] -= last.cp_time[state]; in devstats()
1082 busy_seconds = cur.snap_time - last.snap_time; in devstats()
1092 if (devstat_compute_statistics(&cur.dinfo->devices[di], in devstats()
1093 &last.dinfo->devices[di], busy_seconds, in devstats()
1102 xo_emit("{[:5}{h,hn-decimal,hn-1000:transfers/%ju}{]:}", in devstats()
1118 (*over)--; in percent()
1135 xo_open_container("cpu-statistics"); in cpustats()
1141 xo_close_container("cpu-statistics"); in cpustats()
1156 cur_cp_times[i * CPUSTATES + state] -= last_cp_times[i * in pcpustats()
1222 unsigned long count, rate; in print_intrcnts() local
1230 count = *intrcnts - *old_intrcnts; in print_intrcnts()
1231 rate = ((uint64_t)count * 1000 + period_ms / 2) / period_ms; in print_intrcnts()
1233 xo_emit("{d:name/%-*s}{ket:name/%s} " in print_intrcnts()
1234 "{:total/%20lu} {:rate/%10lu}\n", in print_intrcnts()
1235 (int)istrnamlen, intrnames, intrnames, count, rate); in print_intrcnts()
1242 total_count = inttotal - old_inttotal; in print_intrcnts()
1245 xo_emit("{L:/%-*s} {:total-interrupts/%20ju} " in print_intrcnts()
1246 "{:total-rate/%10ju}\n", (int)istrnamlen, in print_intrcnts()
1292 xo_emit("{T:/%-*s} {T:/%20s} {T:/%10s}\n", in dointr()
1293 (int)istrnamlen, "interrupt", "total", "rate"); in dointr()
1299 xo_open_container("interrupt-statistics"); in dointr()
1321 if (reps >= 0 && --reps <= 0) in dointr()
1326 period_ms = (uptime - old_uptime) / 1000000; in dointr()
1329 xo_close_container("interrupt-statistics"); in dointr()
1362 xo_open_container("malloc-statistics"); in domemstat_malloc()
1374 "{[:4}{h,hn-decimal,hn-1000:in-use/%ju}{]:} " in domemstat_malloc()
1375 "{[:5}{h,hn-decimal:memory-use/%ju}{]:} " in domemstat_malloc()
1376 "{[:4}{h,hn-decimal,hn-1000:requests/%ju}{]:} ", in domemstat_malloc()
1395 xo_close_container("malloc-statistics"); in domemstat_malloc()
1428 xo_open_container("memory-zone-statistics"); in domemstat_zone()
1429 xo_emit("{T:/%-19s} {T:/%7s} {T:/%7s} {T:/%8s} {T:/%8s} {T:/%8s} " in domemstat_zone()
1441 memstat_get_name(mtp), MAX(1, 26 - len), in domemstat_zone()
1455 xo_close_container("memory-zone-statistics"); in domemstat_zone()
1464 xo_emit("{:resident/%5ju} ", (uintmax_t)kvo->kvo_resident); in display_object()
1465 xo_emit("{:active/%5ju} ", (uintmax_t)kvo->kvo_active); in display_object()
1466 xo_emit("{:inactive/%5ju} ", (uintmax_t)kvo->kvo_inactive); in display_object()
1467 xo_emit("{:laundry/%5ju} ", (uintmax_t)kvo->kvo_laundry); in display_object()
1468 xo_emit("{:wired/%5ju} ", (uintmax_t)kvo->kvo_wired); in display_object()
1469 xo_emit("{:refcount/%3d} ", kvo->kvo_ref_count); in display_object()
1470 xo_emit("{:shadowcount/%3d} ", kvo->kvo_shadow_count); in display_object()
1473 if (kvo->kvo_memattr == (type)) { \ in display_object()
1492 MEMATTR_STR(VM_MEMATTR_WEAK_UNCACHEABLE, "UC-") in display_object()
1516 xo_emit("{:attribute/%-3s} ", str); in display_object()
1517 switch (kvo->kvo_type) { in display_object()
1519 str = "--"; in display_object()
1550 xo_emit("{:type/%-2s} ", str); in display_object()
1551 if ((kvo->kvo_flags & KVMO_FLAG_SYSVSHM) != 0) in display_object()
1553 (uintmax_t)kvo->kvo_vn_fileid, kvo->kvo_vn_fsid_freebsd11); in display_object()
1554 if ((kvo->kvo_flags & KVMO_FLAG_POSIXSHM) != 0) in display_object()
1556 xo_emit("{:path/%-s}\n", kvo->kvo_path); in display_object()
1623 "usage: vmstat [-afHhimoPsz] [-M core [-N system]] [-c count] [-n devs]\n", in usage()
1624 " [-p type,if,pass] [-w wait] [disks] [wait [count]]\n"); in usage()