stas 02/03/21 02:16:35
Modified: src/docs/1.0/guide Changes.pod performance.pod
Log:
added a new section: "Potential Drawbacks of Memory Sharing
Restriction"
Revision Changes Path
1.2 +3 -0 modperl-docs/src/docs/1.0/guide/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/Changes.pod,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Changes.pod 20 Mar 2002 17:43:03 -0000 1.1
+++ Changes.pod 21 Mar 2002 10:16:35 -0000 1.2
@@ -22,6 +22,9 @@
Apache::GTopLimit which now both sport the shared and unshared
memory thresholds.
+ o added a new section: "Potential Drawbacks of Memory Sharing
+ Restriction"
+
* guide::
o most of the internal links were changed to use the whole title and
1.6 +35 -0 modperl-docs/src/docs/1.0/guide/performance.pod
Index: performance.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/performance.pod,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- performance.pod 20 Mar 2002 18:15:36 -0000 1.5
+++ performance.pod 21 Mar 2002 10:16:35 -0000 1.6
@@ -5060,6 +5060,41 @@
which can be modified any time, even after the module was loaded.
+=head3 Potential Drawbacks of Memory Sharing Restriction
+
+It's very important that the system won't be heavily engaged in
+swapping process. Some systems do swap in and out every so often even
+if they have plenty of real memory available and it's OK. The
+following applies to conditions when there is hardly any free memory
+available.
+
+So if the system uses almost all of its real memory (including the
+cache), there is a danger of parent's process memory pages being
+swapped out (written to a swap device). If this happens the memory
+usage reporting tools will report all those swapped out pages as
+non-shared, even though in reality these pages are still shared on
+most OSs. When these pages are getting swapped in, the sharing will be
+reported back to normal after a certain amount of time. If a big chunk
+of the memory shared with child processes is swapped out, it's most
+likely that C<Apache::SizeLimit> or C<Apache::GTopLimit> will notice
+that the shared memory floor threshold was crossed and as a result
+kill those processes. If many of the parent process' pages are swapped
+out, and the newly created child process is already starting with
+shared memory below the limit, it'll be killed immediately after
+serving a single request (assuming that we the
+C<$CHECK_EVERY_N_REQUESTS> is set to one). This is a very bad
+situation which will eventually lead to a state where the system won't
+respond at all, as it'll be heavily engaged in swapping process.
+
+This effect may be less or more severe depending on the memory
+manager's implementation and it certainly varies from OS to OS, and
+different kernel versions. Therefore you should be aware of this
+potential problem and simply try to avoid situations where the system
+needs to swap at all, by adding more memory, reducing the number of
+child servers or spreading the load across more machines, if reducing
+the number of child servers is not an options because of the request
+rate demands.
+
=head3 Defining the Maximum Memory Size Threshold
Not less important than maximizing shared memory is restricting the
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]