Need help on chosing kernel memory option, when recompile a new kernel

Need help on chosing kernel memory option, when recompile a new kernel

Post by Tony Yi » Sat, 14 Jul 2001 06:27:02



Hi,

Someone please help to give me a pointer about the following
few questions.

I cannot find the answers from FAQ, Red Hat manual, or even
I call Red Hat and Dell's support unless I have to pay
few hundred dollar per question to get their
advance Tech Support to answer these questions.

I am not a kernel programmer, I am just a system admin
of some of our Dell Linux Boxes. I have few questions
about which memory option should I chose when I need to
recompile a 2.2.x and 2.4.x kernel.

Some of our Dell box has 1G RAM, and some of them
has 2G RAM. And we are running Sun's JDK-1.2.2 and
Apache web server on these boxes, and Java took a lot
of memory, so I assume the user memory space need a lot of
memory, I also assume the memory that Apache took are also
from user memory space, please correct me if I am wrong.

When I read some document call from Dell's site.
Dell PowerEdge Systems-Red Hat Linux 7 and
Dell PowerEdge Systems-Red Hat Linux 6.2 Release SBE1
(that one is for kernel 2.2.14-6.1.1),
let me quote a paragraph that confuse me.

-----------------------------------------------------------------
Choosing Memory Option,
Dell-installed Red Hat Linux 6.2/7 supports up to 4 gigabytes (GB)
of physical memory. Dell recommends that you do not choose the
2-GB option that appears when you recompile the kernel.
This option is misleading in that it does not reference the amount
of physical memory. Instead, this option changes the user/kernel
memory spaces from a 3-for-1 split to a 2-for-2 split.
This make less memory available for user process and
degrades system performance.
-----------------------------------------------------------------
Q1: is that a method in the run time that I can tell how much memory
    the current running kernel use for user space and how much is for
    kernel space?
Q2: how do I tell if the user/kernel space memory has been occupied
    by each process, and how much is free?
Q3: I know Linux use some of the free memory for buffer and cache,
    are these consider as kernel or user memory space?

This is portion of config file I copy out from the Dell shipped
Linux 6.2 CD's  "kernel-2.2.14-i686-smp.config"

2.2.14-6.1.1 kernel
----------------
# CONFIG_1GB is not set
CONFIG_2GB=y
CONFIG_BIGMEM=y

For 2.2 kernel with 1G, or 2G memory PIII-500 or above Dell box,
Q4a:  Should I chose the CONFIG_1G or CONFIG_2G for 1G and the 2G box?
Q4b:  Should I chose the BIGMEM option for these two type of box?

Few of our box use RH 7.1, I know starting from 2.4 kernel
there is something call high memory support;
but I have not fully understand the concept.
This is I copied from OEM RH 7.1's configure file.
kernel-2.4.2-i686-smp.config

2.4.2-5 kernel
---------------
I think in order to get the best performance,
Q5a : We should use the CONFIG_MPENTIUMIII in
      stead of the CONFIG_M686, right?
Q5b : What is the different between these two parameter,

CONFIG_M686=y
# CONFIG_MPENTIUMIII is not set

To get best performance without degrade system performance;
which memory option I should chose to build a new kernel
for running the above mentioned JDK-1.2.2 & Apache applications?

Q6: should I chose CONFIG_HIGHMEM4G for the 2G RAM box,
and CONFIG_NOHIMEM for the 1G RAM box?

# CONFIG_NOHIGHMEM=y
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set

Q7: should all the box chose CONFIG_1GB in stead of
CONFIG_2G for 2G box, and CONFIG_1G for 1G box?

# CONFIG_3GB is not set
# CONFIG_2GB is not set
CONFIG_1GB=y

Thanks very much in advance for any pointer
to any few or all of the questions.

Tony.