Saturday, August 14, 2010

About Huge Memory Enablement related behavior of 32 bit RHEL 4.8

1. While hugepages are enabled it’s normal to see a huge memory in use while nothing is running because, in /proc/meminfo we’ll see something like:

HugePages_Total: 20480

HugePages_Free:  20480

Hugepagesize:     2048 kB

So let’s multiply each page size by total files: 2048*20480= 41943040 = 40gb , it’s due to the hugepage enablement.

While you check via top of ps –ef you’ll see  a lot of ksoftirqd” and “migration” are running.

But these really put no stress. Stress could be generated if a process  has state “D”

That is under the column “S” of top output if you see “D” then it’s a problematic process.

‘D’ status means uninterruptible sleep  tasks are truly non-interruptible.

Use this script to check the process in D state:

top -b -n 1 | awk '{if ($8 == "D"){count++;print}}END{print "The number of D state process are:"count}'


2. ksoftirqd  is  a  per-cpu  kernel  thread. Here we have HT enabled server so for 24 processors we should see around 24/25 such process.

                If ksoftirqd is taking more than a tiny  percentage of CPU time, this indicates the machine is under heavy  soft  interrupt load.

               But in our case 0% CPU is being used those.

3. About ipcs output:

The ipcs command can be used to obtain the status of all System V IPC objects.

Many Unix-like systems, including Linux and System V systems, support System V inter-process communication (IPC) objects.

[root@app1 ~]# ipcs

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status

0x00000000 98304      gdm       600        393216     2          dest

------ Semaphore Arrays --------

key        semid      owner      perms      nsems

------ Message Queues --------

key        msqid      owner      perms      used-bytes   messages

Now who is this “gdm”?

Gdm (the GNOME Display Manager) the X Display Manager. Gdm allows you to log into your system with the X Window System running and supports running several

different X sessions on your local machine (VNC is one of them )at the same time.

To get back the “shared” memory used by gdm you can kill  “/usr/bin/gdmgreeter process “– but each reboot of the system will bring this process up.

No comments:

Post a Comment