<> <> <> <> <> <> <<>> DIRECTORY VM USING [PageCount, VMPartition]; VMStatistics: DEFINITIONS = BEGIN <> VirtualAllocation: PROC [partition: VM.VMPartition] RETURNS [pagesAllocated, pagesFreed, pagesInPartition: VM.PageCount]; <> HistogramSizes: TYPE = LONG DESCRIPTOR FOR ARRAY OF INT; HistogramCounts: TYPE = LONG DESCRIPTOR FOR ARRAY OF INT; FreeSpaceHistogram: PROC [partition: VM.VMPartition _ normalVM, sizes: HistogramSizes _ NIL, counts: HistogramCounts]; <> < 0>> <> < 0>> <> <> <> <> <> <> < sizes[sizes.LENGTH-1]>> readOnlyPages: INT; <> <<>> pinnedPages: INT; <> trappedPages: INT; <> <<>> checkoutConflicts: INT; <> <<>> <> rmAllocPasses: INT; <> rmReclamations: INT; <> <<>> rmFreeList: INT; <> <<>> rmOldClean: INT; <> <<>> rmNewClean: INT; <> <<>> rmDirty: INT; <> <<>> <> swapInCalls: INT; <> <<>> swapInVirtualRuns: INT; <> <<>> swapInPhysicalRuns: INT; <> <<>> swapInPages: INT; <> <<>> swapInAlreadyIn: INT; <> <<>> swapInNoRead: INT; <> <<>> swapInReads: INT; <> <<>> swapInDirtyVictims:INT; <> <<>> swapInFailedToCleanVictims: INT; <> <<>> <> cleanCalls: INT; <> <<>> cleanVirtualRuns: INT; <> <<>> cleanPhysicalRuns: INT; <> <<>> cleanPages: INT; <> <<>> cleanWrites: INT; <> <<>> cleanCantWrites: INT; <> <<>> cleanCheckOutCleans: INT; < into a single write operation.>> <<>> cleanUnneededCheckOutCleans: INT; <> <<>> <> rmCleanPasses: INT; <> <<>> laundryWakeups: INT; <> <<>> panicLaundryWakeups: INT; <> <<>> uselessLaundryWakeups: INT; <> <<>> pagesCleaned: INT; <> <<>> pagesCleanedPanic: INT; <> <<>> laundryCleanCalls: INT; <> <<>> <> getFramesCalls: INT; <> <<>> getFramesRetries: INT; <> <<>> <> pageFaults: INT; <> <<>> writeFaults: INT; <> <<>> frameFaults: INT; <> <<>> smallFramesAllocated: INT; <> <<>> frameHeapExtensions: INT; <> <<>> largeFramesAllocated: INT; <> <<>> largeFramesFreed: INT; <> <<>> <> lowCoreAllocations: INT; <> <<>> lowCoreWords: INT; <> <<>> lowCorePages: INT; <> <<>> <<>> END.