123 lines
8.8 KiB
HTML
123 lines
8.8 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html lang="en-us" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow" />
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<meta name="DC.Type" content="concept" />
|
|
<meta name="DC.Title" content="Memory pools" />
|
|
<meta name="abstract" content="A memory pool is a logical division of main memory or storage that is reserved for processing a job or group of jobs. On the iSeries server, all main storage can be divided into logical allocations called memory pools. By default, the system manages the transfer of data and programs into memory pools." />
|
|
<meta name="description" content="A memory pool is a logical division of main memory or storage that is reserved for processing a job or group of jobs. On the iSeries server, all main storage can be divided into logical allocations called memory pools. By default, the system manages the transfer of data and programs into memory pools." />
|
|
<meta name="DC.Relation" scheme="URI" content="rzaksconcepts.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzakstypesmempools.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzakspoolnbrscheme.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzakspoolallocation.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzaksmempoolactlevel.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../apis/qwcrssts.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzaksmanagemp1.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../rzahx/rzahxmngparent.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../rzahx/rzahxtune.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../rzahx/rzahxapsparent.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../experience/work3abstract.htm" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2004-2006" />
|
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004-2006" />
|
|
<meta name="DC.Format" content="XHTML" />
|
|
<meta name="DC.Identifier" content="rzaksaboutmempools" />
|
|
<meta name="DC.Language" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
|
<title>Memory pools</title>
|
|
</head>
|
|
<body id="rzaksaboutmempools"><a name="rzaksaboutmempools"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Memory pools</h1>
|
|
<div><p>A memory pool is a logical division of main memory or storage that
|
|
is reserved for processing a job or group of jobs. On the iSeries™ server,
|
|
all main storage can be divided into logical allocations called memory pools.
|
|
By default, the system manages the transfer of data and programs into memory
|
|
pools.</p>
|
|
<p>The memory pool from which user jobs get their memory is always the same
|
|
pool that limits their activity level. (The activity level of a memory pool
|
|
is the number of threads that can be active at same time in a memory pool.)
|
|
Exceptions to this are system jobs (such as Scpf, Qsysarb, and Qlus) that
|
|
get their memory from the Base pool but use the machine pool activity level.
|
|
Additionally, subsystem monitors get their memory from the first subsystem
|
|
description pool, but it uses the machine pool activity level. This allows
|
|
a subsystem monitor to always be able to run regardless of the activity level
|
|
setting. </p>
|
|
<div class="section"><h4 class="sectiontitle">Why use memory pools</h4><p>You can control how much work
|
|
can be done in a subsystem by controlling the number and size of the pools.
|
|
The greater the size of the pools in a subsystem, the more work can be done
|
|
in that subsystem. </p>
|
|
<p>Using shared memory pools allows the system to distribute
|
|
jobs for interactive users across multiple subsystems while still allowing
|
|
their jobs to run in the same memory pool.</p>
|
|
<div class="p">Multiple pools in a subsystem
|
|
help you to control the jobs' competition for system resources. The advantages
|
|
of having multiple pools in a subsystem are that you can separate the amount
|
|
of work done and the response time for these jobs. For example, during the
|
|
day you may want interactive jobs to run with good response time. For better
|
|
efficiency you can make the interactive pool larger. At night you might
|
|
be running many batch jobs, so you make the batch pool larger.<div class="note"><span class="notetitle">Note:</span> Although
|
|
tuning and managing your system can help the efficiency of the flow of work
|
|
through your iSeries server,
|
|
it cannot account for inadequate hardware resources. Consider a hardware upgrade
|
|
if the demands of your workload are significant. </div>
|
|
</div>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">How data is handled in memory pools</h4><p>If data is already
|
|
in main storage, it can be referred to independently of the memory pool it
|
|
is in. However, if the needed data does not exist in any memory pool, it is
|
|
brought into the same memory pool for the job that referred to it (this is
|
|
known as a page fault). As data is transferred into a memory pool, other data
|
|
is displaced and, if changed, is automatically recorded in auxiliary storage
|
|
(this is called paging). The memory pool size should be large enough to keep
|
|
data transfers (paging) at a reasonable level as the rate affects performance.</p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<ul class="ullinks">
|
|
<li class="ulchildlink"><strong><a href="rzakstypesmempools.htm">Types of memory pools</a></strong><br />
|
|
On the iSeries server, all main storage can be divided into
|
|
logical allocations called <dfn class="term">memory pools</dfn>. All memory
|
|
pools in a system are either private or shared. There are private memory pools,
|
|
shared memory pools, and special shared memory pools. As many as 64 memory
|
|
pools, in any combination of private and shared pools, can be active at the
|
|
same time.</li>
|
|
<li class="ulchildlink"><strong><a href="rzakspoolnbrscheme.htm">Pool numbering schemes</a></strong><br />
|
|
Pools have two sets of numbering schemes: one is used within a
|
|
subsystem and one is system-wide. The subsystem uses a set of numbers that
|
|
refer to the pools it uses. Thus, when you create or change a subsystem description
|
|
you can define one or more pools and label them 1, 2, 3, and so on. These
|
|
are the designations of the subsystem pools, and they do not correspond to
|
|
the pool numbers shown on the Work with System Status (<span class="cmdname">WRKSYSSTS</span>)
|
|
display.</li>
|
|
<li class="ulchildlink"><strong><a href="rzakspoolallocation.htm">Memory pool allocation</a></strong><br />
|
|
When you start a subsystem, the system attempts to allocate the user-defined storage pools that are defined in the subsystem description of the started subsystem.</li>
|
|
<li class="ulchildlink"><strong><a href="rzaksmempoolactlevel.htm">Memory pool activity level</a></strong><br />
|
|
The activity level of a memory pool is the number of threads that can actively use the CPU at the same time in a memory pool. This allows for efficient use of system resources. The system manages the control of the activity level.</li>
|
|
</ul>
|
|
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaksconcepts.htm" title="Whether you are new to work management or have been using work management tools for years, you will find something useful in the Concepts section of the Work management topic collection.">Concepts</a></div>
|
|
</div>
|
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
|
<div><a href="rzaksmanagemp1.htm" title="Making sure that jobs get enough memory to complete efficiently is important. If too much memory is given to subsystem A and not enough to subsystem B, jobs in subsystem B might begin to run poorly. The following information describes the various tasks that are involved in managing memory pools.">Manage memory pools</a></div>
|
|
</div>
|
|
<div class="relinfo"><strong>Related information</strong><br />
|
|
<div><a href="../apis/qwcrssts.htm">Retrieve System Status (QWCRSSTS) API</a></div>
|
|
<div><a href="../rzahx/rzahxmngparent.htm">Manage iSeries performance</a></div>
|
|
<div><a href="../rzahx/rzahxtune.htm">Basic performance tuning</a></div>
|
|
<div><a href="../rzahx/rzahxapsparent.htm">Applications for performance management</a></div>
|
|
<div><a href="../experience/work3abstract.htm">Experience report: The Performance Adjuster</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |