303 pgtok(kstat_delta(oldvm, newvm, "anonpgout")) / etime);
304 adjprintf(" %*.0f", 4,
305 pgtok(kstat_delta(oldvm, newvm, "anonfree")) / etime);
306 adjprintf(" %*.0f", 4,
307 pgtok(kstat_delta(oldvm, newvm, "fspgin")) / etime);
308 adjprintf(" %*.0f", 4,
309 pgtok(kstat_delta(oldvm, newvm, "fspgout")) / etime);
310 adjprintf(" %*.0f\n", 4,
311 pgtok(kstat_delta(oldvm, newvm, "fsfree")) / etime);
312 (void) fflush(stdout);
313 return;
314 }
315
316 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.runque) / sys_updates);
317 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.waiting) / sys_updates);
318 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.swpque) / sys_updates);
319 adjprintf(" %*u", 6, pgtok((int)(DELTA(s_sys.ss_vminfo.swap_avail)
320 / vm_updates)));
321 adjprintf(" %*u", 5, pgtok((int)(DELTA(s_sys.ss_vminfo.freemem)
322 / vm_updates)));
323 adjprintf(" %*.0f", 3, swflag?
324 kstat_delta(oldvm, newvm, "swapin") / etime :
325 kstat_delta(oldvm, newvm, "pgrec") / etime);
326 adjprintf(" %*.0f", 3, swflag?
327 kstat_delta(oldvm, newvm, "swapout") / etime :
328 (kstat_delta(oldvm, newvm, "hat_fault")
329 + kstat_delta(oldvm, newvm, "as_fault"))
330 / etime);
331 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "pgpgin"))
332 / etime);
333 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "pgpgout"))
334 / etime);
335 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "dfree"))
336 / etime);
337 adjprintf(" %*ld", 2, pgtok(new->s_sys.ss_deficit));
338 adjprintf(" %*.0f", 2, kstat_delta(oldvm, newvm, "scan") / etime);
339
340 (void) snapshot_walk(SNAP_IODEVS, old, new, show_disk, NULL);
341
342 count = df.if_max_iodevs - new->s_nr_iodevs;
343 while (count-- > 0)
344 adjprintf(" %*d", 2, 0);
345
346 adjprintf(" %*.0f", 4, kstat_delta(oldsys, newsys, "intr") / etime);
347 adjprintf(" %*.0f", 4, kstat_delta(oldsys, newsys, "syscall") / etime);
399 while (i-- > 0)
400 (void) printf("-- ");
401
402 (void) printf(" in sy cs us sy id\n");
403 lines = REPRINT;
404 }
405
406 static void
407 sum_out(char const *pretty, kstat_t *ks, char *name)
408 {
409 kstat_named_t *ksn = kstat_data_lookup(ks, name);
410 if (ksn == NULL) {
411 fail(0, "kstat_data_lookup('%s', '%s') failed",
412 ks->ks_name, name);
413 }
414
415 (void) printf("%9llu %s\n", ksn->value.ui64, pretty);
416 }
417
418 static void
419 dosum(struct sys_snapshot *ss)
420 {
421 uint64_t total_faults;
422 kstat_named_t *ksn;
423 long double nchtotal;
424 uint64_t nchhits;
425
426 sum_out("swap ins", &ss->ss_agg_vm, "swapin");
427 sum_out("swap outs", &ss->ss_agg_vm, "swapout");
428 sum_out("pages swapped in", &ss->ss_agg_vm, "pgswapin");
429 sum_out("pages swapped out", &ss->ss_agg_vm, "pgswapout");
430
431 ksn = kstat_data_lookup(&ss->ss_agg_vm, "hat_fault");
432 if (ksn == NULL) {
433 fail(0, "kstat_data_lookup('%s', 'hat_fault') failed",
434 ss->ss_agg_vm.ks_name);
435 }
436 total_faults = ksn->value.ui64;
437 ksn = kstat_data_lookup(&ss->ss_agg_vm, "as_fault");
438 if (ksn == NULL) {
439 fail(0, "kstat_data_lookup('%s', 'as_fault') failed",
440 ss->ss_agg_vm.ks_name);
441 }
442 total_faults += ksn->value.ui64;
443
444 (void) printf("%9llu total address trans. faults taken\n",
445 total_faults);
446
447 sum_out("page ins", &ss->ss_agg_vm, "pgin");
448 sum_out("page outs", &ss->ss_agg_vm, "pgout");
449 sum_out("pages paged in", &ss->ss_agg_vm, "pgpgin");
|
303 pgtok(kstat_delta(oldvm, newvm, "anonpgout")) / etime);
304 adjprintf(" %*.0f", 4,
305 pgtok(kstat_delta(oldvm, newvm, "anonfree")) / etime);
306 adjprintf(" %*.0f", 4,
307 pgtok(kstat_delta(oldvm, newvm, "fspgin")) / etime);
308 adjprintf(" %*.0f", 4,
309 pgtok(kstat_delta(oldvm, newvm, "fspgout")) / etime);
310 adjprintf(" %*.0f\n", 4,
311 pgtok(kstat_delta(oldvm, newvm, "fsfree")) / etime);
312 (void) fflush(stdout);
313 return;
314 }
315
316 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.runque) / sys_updates);
317 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.waiting) / sys_updates);
318 adjprintf(" %*lu", 1, DELTA(s_sys.ss_sysinfo.swpque) / sys_updates);
319 adjprintf(" %*u", 6, pgtok((int)(DELTA(s_sys.ss_vminfo.swap_avail)
320 / vm_updates)));
321 adjprintf(" %*u", 5, pgtok((int)(DELTA(s_sys.ss_vminfo.freemem)
322 / vm_updates)));
323 adjprintf(" %*.0f", 3, swflag? 0 :
324 kstat_delta(oldvm, newvm, "pgrec") / etime);
325 adjprintf(" %*.0f", 3, swflag? 0 :
326 (kstat_delta(oldvm, newvm, "hat_fault")
327 + kstat_delta(oldvm, newvm, "as_fault"))
328 / etime);
329 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "pgpgin"))
330 / etime);
331 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "pgpgout"))
332 / etime);
333 adjprintf(" %*.0f", 2, pgtok(kstat_delta(oldvm, newvm, "dfree"))
334 / etime);
335 adjprintf(" %*ld", 2, pgtok(new->s_sys.ss_deficit));
336 adjprintf(" %*.0f", 2, kstat_delta(oldvm, newvm, "scan") / etime);
337
338 (void) snapshot_walk(SNAP_IODEVS, old, new, show_disk, NULL);
339
340 count = df.if_max_iodevs - new->s_nr_iodevs;
341 while (count-- > 0)
342 adjprintf(" %*d", 2, 0);
343
344 adjprintf(" %*.0f", 4, kstat_delta(oldsys, newsys, "intr") / etime);
345 adjprintf(" %*.0f", 4, kstat_delta(oldsys, newsys, "syscall") / etime);
397 while (i-- > 0)
398 (void) printf("-- ");
399
400 (void) printf(" in sy cs us sy id\n");
401 lines = REPRINT;
402 }
403
404 static void
405 sum_out(char const *pretty, kstat_t *ks, char *name)
406 {
407 kstat_named_t *ksn = kstat_data_lookup(ks, name);
408 if (ksn == NULL) {
409 fail(0, "kstat_data_lookup('%s', '%s') failed",
410 ks->ks_name, name);
411 }
412
413 (void) printf("%9llu %s\n", ksn->value.ui64, pretty);
414 }
415
416 static void
417 zero_out(char const *pretty)
418 {
419 (void) printf("%9llu %s\n", 0, pretty);
420 }
421
422 static void
423 dosum(struct sys_snapshot *ss)
424 {
425 uint64_t total_faults;
426 kstat_named_t *ksn;
427 long double nchtotal;
428 uint64_t nchhits;
429
430 zero_out("swap ins");
431 zero_out("swap outs");
432 zero_out("pages swapped in");
433 zero_out("pages swapped out");
434
435 ksn = kstat_data_lookup(&ss->ss_agg_vm, "hat_fault");
436 if (ksn == NULL) {
437 fail(0, "kstat_data_lookup('%s', 'hat_fault') failed",
438 ss->ss_agg_vm.ks_name);
439 }
440 total_faults = ksn->value.ui64;
441 ksn = kstat_data_lookup(&ss->ss_agg_vm, "as_fault");
442 if (ksn == NULL) {
443 fail(0, "kstat_data_lookup('%s', 'as_fault') failed",
444 ss->ss_agg_vm.ks_name);
445 }
446 total_faults += ksn->value.ui64;
447
448 (void) printf("%9llu total address trans. faults taken\n",
449 total_faults);
450
451 sum_out("page ins", &ss->ss_agg_vm, "pgin");
452 sum_out("page outs", &ss->ss_agg_vm, "pgout");
453 sum_out("pages paged in", &ss->ss_agg_vm, "pgpgin");
|