Re: [RFC] VM statistics to gather
From: Marcelo Tosatti <hidden>
Date: 2001-06-26 01:45:20
On Mon, 25 Jun 2001, Rik van Riel wrote:
quoted hunk ↗ jump to hunk
Hi, I am starting the process of adding more detailed instrumentation to the VM subsystem and am wondering which statistics to add. A quick start of things to measure are below, but I've probably missed some things. Comments are welcome ...--- kernel_stat.h.instr Sun Jun 24 19:52:34 2001 +++ kernel_stat.h Mon Jun 25 20:02:38 2001@@ -26,6 +26,25 @@ unsigned int dk_drive_wblk[DK_MAX_MAJOR][DK_MAX_DISK]; unsigned int pgpgin, pgpgout; unsigned int pswpin, pswpout; + unsigned int vm_pgscan; /* Pages scanned by pageout code. */ + unsigned int vm_pgdeact; /* Pages deactivated by pageout code */
s/page out code/deactivation code/ ? + unsigned int vm_swapout_pgdeact; /* Pages deactivated directly by swapout() */
+ unsigned int vm_pgclean; /* Pages moved to inactive_clean */ + unsigned int vm_pgskiplaunder; /* Pages skipped by page_launder */ + unsigned int vm_pglaundered; /* Pages laundered by page_launder */ + unsigned int vm_pgreact; /* Pages reactivated by page_launder + * (rescued from inactive_clean list) */
The "(rescued from inactive_clean list)" affirmation is not always true.
+ unsigned int vm_pgrescue; /* Pages reactivated by reclaim_page + * (rescued from inactive_dirty list) */
unsigned int vm_reclaimfail; /* page_reclaim() failures (not able to find any freeable page at inactive clean */
+ unsigned int vm_majfault; /* Major page faults (disk IO) */ + unsigned int vm_minfault; /* Minor page faults (no disk IO) */ + unsigned int vm_cow_fault; /* COW faults, copy needed */ + unsigned int vm_cow_optim; /* COW skipped copy */ + unsigned int vm_zero_fault; /* Zero-filled page given to process */ + unsigned int vm_zero_optim; /* COW of the EMPTY_ZERO_PAGE */ + unsigned int vm_kswapd_wakeup; /* kswapd wake-ups */ + unsigned int vm_kswapd_loops; /* kswapd go-arounds in kswapd() loop */
unsigned int vm_kreclaim_wakeup; /* kreclaimd wakeups */
+ unsigned int vm_pg_freed; /* Pages freed by pageout code, also + pages moved to inactive_clean */ #if !defined(CONFIG_ARCH_S390) unsigned int irqs[NR_CPUS][NR_IRQS]; #endif
Maybe I remember something more later.. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/