Memory statistics

Unlike other statistics providers memory statistics provides statistics that are as accurate as statistics fetched in synchronous mode but the statistics collection does not involve penalties of fetching the statistics repetitively during script execution.

Some of the items in memory statistics, such as the number of page faults, change frequently. Therefore, collecting memory statistics asynchronously produces incorrect information. For example, if you want to collect memory statistics for a process that fails because of low memory, you can use the interval between the fork and the exit system calls to collect the statistics. If memory statistics are not accumulated during the same intervals, the memory statistics do not change.

Memory statistics can be accessed by using the following format:
__stat.mem-><field>
For example, the following command indicates the number of page faults that occurred during a specific interval:
__stat.mem->page_faults
where __stat represents a statistical item, and mem indicates that the statistics is memory-related information.

The following independent fields can be used to display different statistical items:

Table 1. ProbeVue fields for memory statistics
Vue script field name Data type Description
page_faults unsigned long long Number of page faults.
page_reclaims unsigned long long Number of page reclamation.
lock_misses unsigned long long Number of lock misses.
back_tracks unsigned long long Number of backtrack operations.
pageins unsigned long long Number of pages that are paged in during the collection of memory statistics.
pageouts unsigned long long Number of pages that are paged out during the collection of memory statistics.
num_ios unsigned long long Number of I/O start operations.
num_iodone unsigned long long Number of iodone operations.
zerofills unsigned long long Number of zero-filled pages.
exec_fills unsigned long long Number of pages that are filled with executable files.
page_scans unsigned long long Number of pages that are examined.
pager_cycles unsigned long long Number of pager clock hand cycles.
page_steals unsigned long long Number of least recently used pages that must be included in the free list.
free_frame_waits unsigned long long Number of page frames that must be added to the list of available page frames.
extnd_xpt_waits unsigned long long Number of extend XPT wait operations.
pending_io_waits unsigned long long Number of pending I/O wait operations.