Red Hat Bugzilla – Bug 339001
incorrect swap size on >2G systems
Last modified: 2008-07-24 15:05:59 EDT
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"
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.
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).
2G of swap.
More than 2G of swap (10G in the case of an 8G systems)
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
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
+ if mem > 2000:
+ memextra = mem - 2000
+ minswap = 2000
+ maxswap = 4000 + memextra
if mem > 1000:
minswap = 1000
Only tested on system with >2G of memory (4G and 8G). And isn't a megabyte 1024,
not 1000? :)
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.
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.
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
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.