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.