Aix Info
Essay by 24 • October 31, 2010 • 851 Words (4 Pages) • 1,325 Views
This paper is about AIX (IBM'S UNIX flavour)
AIX Memory Management
Understanding How AIX Manages Memory / Page Space.
Data is essentially held in pages of 4096B, and a page in RAM is accessible by the CPU, if the page is on disk the CPU can't access it directly.
A page fault occurs when a wanted page address does not translate to a real memory address. At this point the Virtual Memory Manager (VMM) knows it needs to get data from disk and place it in RAM - it therefore checks to see that there is space in RAM in which to out this data.
If there's enough room, VMM checks to see if the wanted page has been used previously by this process:
- if not, an "initial page fault", VMM allocates _two_ pages for the data; one in RAM and the other on a backing page on disk where it can go if it has to be temporarily removed from RAM. This is known as "late page space allocation".
- if it has, a "repage fault" I/O is scheduled to bring the data back from disk and into RAM - the act of resolving this repage fault is called a "page-in" (the process that is waiting for this to happen is in a "page wait state").
So what happens if there's not enough room in RAM to put the page? Well the page stealer is there to ensure that there is a supply of free RAM pages available for an initial page fault. If the number of free RAM pages drops below a specified value then the page stealer will try and get some pages back. It keeps on stealing pages until it reaches an upper limit.
So how does it decide which pages to steal? The page stealer will select the least recently used, or LRU, pages. If the page has been modified in RAM it's classed as a dirty page and is put to a backing store (either page space or a file system); if it's clean (the copy in RAM matches the copy in page space) then the RAM page is purged.
Note that the page space is used for non-persistent or working pages, and the file system is used for persistent or file pages.
There is, of course, a basic assumption here that all stale pages are treated equally, i.e. whether it's a file- or nonfile- page makes no difference to the page stealer.
However this is not the case. Increased paging activity makes VMM act upon the different types of (stale) pages in a different manner. When the number of [stale] file pages exceeds a number - set by the maxperm threshold - the page stealer will steal only file pages.
If the number of stale file pages is below maxperm (but above the set minperm threshold) then two other considerations come into play.
The VMM checks the repage rates of both file and nonfile pages, and will steal file pages if the file page repage rate is higher than the repage rate for nonfiles.
If this not the case then both types of pages are treated as equal victims.
PERFORMANCE HITS / ACTUAL DISK I/O...
To understand the performance hit of the paging figures that you come across, you need to realise that page
...
...