The most common is to increase the page size from the default of 4K to a much larger number. So, what is the solution? We NEED those Gigabytes! Add-in the occasional paging activity and/or the need to keep database buffer structures - such as the Oracle SGA - locked in memory and you have the recipe for serious memory management overhead. The important thing to note here is that very large numbers of pages can pose serious loads to an OS in terms of memory management. The OS simply cannot make CPU available to user processes until it has finished managing memory! A good indication of this type of event is when a relatively high kernel mode CPU usage is noted, together with unexplained wait time. The problem is made worse by the simple fact all this activity is pre-emptive of any other processing. It's not the only cause, but it's worth checking. Anything over 5% is usually a good indication that something may be amiss with memory management. This is typically indicated by excess CPU usage being noticed in kernel mode. It's not hard then to reason that some overhead will result from managing such large tables of memory pages. I'll save you the time: in excess of 15 million entries. Think of it this way: how many 4K pages fit into an addressable space of, say, 64GB? Now, when we are talking about physical memory sizes of hundreds of Gigabytes, it is not hard to comprehend that managing those in terms of "chunks" - pages - of 4K bytes leads to a LOT of overhead. In as simple terms as I can put it, the OS needs to know the status of every page making up its physical addressable memory in order to provide the virtual memory we all know and love. This is usually achieved through a mechanism referred to as address translation. These pages have to be managed by the OS memory management code. However, traditional virtual memory uses 4KB physical page sizes in Unix. One of the ways modern servers differ from older models is in the use of 64-bit memory and very large physical memory sizes. This blog entry is for my future reference on how to make Oracle use large pages in AIX. This entry is prompted by some of the ongoing exercise in fine tuning our AIX db servers.ĪIX is a great OS but the information needed to eek out the last ounce of performance for Oracle dbs is sparse, or across many documents.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |