Bug 339001 - incorrect swap size on >2G systems
Summary: incorrect swap size on >2G systems
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: anaconda
Version: 4.5
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
: ---
Assignee: Martin Sivák
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-10-19 00:29 UTC by Chad Harvey
Modified: 2008-07-24 19:05 UTC (History)
0 users

Fixed In Version: RHBA-2008-0653
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-07-24 19:05:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2008:0653 0 normal SHIPPED_LIVE anaconda bug fix and enhancement update 2008-07-23 15:01:42 UTC

Description Chad Harvey 2007-10-19 00:29:17 UTC
Description of problem:

According to the documentation for RHEL4, "Swap should equal 2x physical RAM for
up to 2 GB of physical RAM, and then 1x physical RAM for any amount above 2 GB"
(http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/x8664-multi-install-guide/s1-diskpartitioning.html#S2-DISKPARTRECOMMEND)

However, on systems with >2G of RAM, only 2G is allocated when the "recommended"
option is used in kickstart configurations.



Version-Release number of selected component (if applicable):

Tested on, but not limited to RHEL 4.5, anaconda-10.1.1.63-4
I looked at RHEL5 and it has the same problem, but I didn't test it.


How reproducible:

Very consistently, unfortunately.


Steps to Reproduce:

Assuming you have PXE/kickstart environment set up already:
1. Create a kickstart file with the line:
           part swap --recommended --asprimary
   as the partitioning line for swap

2. PXE boot and kickstart a system with more than 2G of memory and sufficient
disk space such that the maximum amount of swap could be allocated (147G of
disk, for instance).
  
Actual results:

2G of swap.

Expected results:

More than 2G of swap (10G in the case of an 8G systems)

Additional info:

We use PXE boots with kickstart; non-interactive; partitioning line as mentioned
above; all systems with >2G of memory (usually 8G); all systems have >100G of
disk space.

The logic for determining swap size maximizes the swap at 2G (probably due to a
legacy filesystem size limit). 

By applying the following patch to the stage2.img in the file
/usr/lib/anaconda/iutil.py, the correct amount of swap is created:

*** iutil.py-   1969-12-31 17:00:00.000000000 -0700
--- iutil.py    1969-12-31 17:00:00.000000000 -0700
***************
*** 256,259 ****
--- 256,264 ----
          maxswap = 192
      else:
+         if mem > 2000:
+             memextra = mem - 2000
+             minswap = 2000
+             maxswap = 4000 + memextra
+         else:
              if mem > 1000:
                  minswap = 1000

Only tested on system with >2G of memory (4G and 8G). And isn't a megabyte 1024,
not 1000? :)

Comment 4 Alexander Todorov 2008-04-24 13:40:16 UTC
Observations from latest 4.7 tree available:
environment: Xen/PV guest, i386, start up memory = maximum memory

mem: 8GB, install: manual, choose auto partition (e.g. lvm) - 10GB (as expected)
mem: 8GB, install: ks.cfg w/ swap --recommended - 8GB swap partition is created

mem: 5GB, install: manual, choose auto partition (e.g. lvm) - 7GB (as expected)
mem: 5GB, install: ks.cfg w/ swap --recommended - 7GB (as expected)

Only for the 8GB case the --recommended is not creating partition with the
expected size. Still investigating this with Martin to figure out what is wrong.

Comment 6 Alexander Todorov 2008-04-30 14:13:39 UTC
after more investigation I will move this to VERIFIED.
The swap calculation is fixed but there is a limit of 8GB hard coded in anaconda
hence the results in comment #4.

This limit is not documented and bug #437089 is used to track that.

Comment 9 Alexander Todorov 2008-05-05 11:25:10 UTC
wrt to comment #6:

the limit mentioned is the value of self.maxSizeMB in class swapFileSystem in
fsset.py which is actually 8TB not GB. Anyway something is preventing the
creation of swap partition larger than 8GB when using '--recommended'.

Using bug #437089 to document that. The problem reported with this bug was fixed
(i.e. the formula calculating the swap size was fixed to calculate the correct
size).

Comment 11 errata-xmlrpc 2008-07-24 19:05:59 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-0653.html


Note You need to log in before you can comment on or make changes to this bug.