VMware Cloud Community
ketalparikh
Contributor
Contributor

Virtual machines showing only 1 CPU, but allocated CPU is 2

Hi,

I have several (SLES9 SP3) VMs on my ESX 3.0.1 server and I have given 2 vCPU to them. When I check the performance from the VI Client it shows only 1 CPU utilized.. Other one is 0% utilized.. I've checked on other servers (SLES9 SP3) and they are also showing the same.. I've also check in the VM OS by checking /proc/cpuinfo and it shows only one CPU present...

Now the interesting thing I found is, all of my VMs (Windows servers) are shoiwng and utilising all of the vCPUs I have allocated and they're performing very well..

Does anyone know this issue and can help me?? Is this a licensing issue... just guessing...!!!

Thanks in advance...

Ketal

0 Kudos
7 Replies
java_cat33
Virtuoso
Virtuoso

Hi - If you go into computer management, device manager, computer - does it say uniprocessor or multiprocessor?

If it say's uni - you must change the HAL so that it is multiprocessor. This is done by changing the driver from within the location specified above. Then reboot your VM (sometimes takes a couple of reboots for the VM to pick up it has 2 cpu's).

You will be able to see this from task manager/performance.

0 Kudos
ketalparikh
Contributor
Contributor

Thanks for the reply..

My Windows servers are showing multiprocessor.. and they are working fine.. Issues are with my SLES9 SP3 boxes.. They are only using one CPU inspite having more than one CPU..

How do I get these boxes to use all of the allocated CPUs..??

Thanks in advance...

0 Kudos
Patrick_Miller
Enthusiast
Enthusiast

I am no Linux guru...but if I remember correctly, the kernel must be compiled for either SMP or single processor.

0 Kudos
ketalparikh
Contributor
Contributor

I am sending the snapshot of one of my VMs with this issue...

Please have a look at that...

It's showing CPU0 usage 200 and CPU1 is showing 0..

0 Kudos
cdunlap
Contributor
Contributor

I am having the exact same issue on SLES9 SP3 as well. We recently patched a guest to kernel version 2.6.5-7.311-bigsmp and added a second vCPU to it. The guest is only recognizing 1 CPU present even though two are allocated and the correct kernel version (bigsmp) is installed.

We have other SLES9 SP3 servers in our environment but they are not running kernel version 2.6.5-7.311, they are running 2.6.5-7.244, and those seem to be working fine. I'm wondering if this has to do with the kernel itself? What version of the kernel are your SLES9 SP3 servers running?

Additionally, the version of ESX I am running is 3.5 U2.

uname -a outputs the following:

Linux amexstld01 2.6.5-7.311-bigsmp #1 SMP Mon Mar 10 13:12:16 UTC 2008 i686 i686 i386 GNU/Linux

The boot directory structure is as follows:

drwxr-xr-x   5 root root    1168 2009-02-03 11:24 .
drwxr-xr-x  21 root root     488 2009-02-03 06:19 ..
-rw-r--r--   1 root root     512 2008-10-22 22:08 backup_mbr
lrwxrwxrwx   1 root root       1 2008-10-22 22:06 boot -> .
-rw-r--r--   1 root root     512 2008-10-22 22:08 boot.0800
-rw-r--r--   1 root root   57508 2008-03-15 20:48 config-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root   58416 2008-03-15 20:34 config-2.6.5-7.311-default
drwxr-xr-x   2 root root     480 2009-02-03 11:24 grub
lrwxrwxrwx   1 root root      25 2009-02-03 10:19 initrd -> initrd-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root 1775377 2008-10-22 22:49 initrd-2.6.5-7.244-default.prelsilogic
-rw-r--r--   1 root root 1822657 2009-02-03 10:19 initrd-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root 1804051 2008-10-24 14:47 initrd-2.6.5-7.311-default
lrwxrwxrwx   1 root root      26 2008-10-24 14:47 initrd.previous -> initrd-2.6.5-7.311-default
-rw-r--r--   1 root root  126276 2008-03-15 20:48 Kerntypes-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root  119612 2008-03-15 20:34 Kerntypes-2.6.5-7.311-default
-rw-------   1 root root   81920 2008-10-22 22:08 map
-rw-r--r--   1 root root  293646 2008-03-15 21:00 symtypes-2.6.5-7.311-bigsmp.gz
-rw-r--r--   1 root root  296072 2008-03-15 20:45 symtypes-2.6.5-7.311-default.gz
-rw-r--r--   1 root root  110394 2008-03-15 21:00 symvers-2.6.5-7.311-i386-bigsmp.gz
-rw-r--r--   1 root root  111158 2008-03-15 20:44 symvers-2.6.5-7.311-i386-default.gz
-rw-r--r--   1 root root  808211 2008-03-15 20:32 System.map-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root  788220 2008-03-15 20:22 System.map-2.6.5-7.311-default
-rw-r--r--   1 root root 1988999 2008-03-15 20:48 vmlinux-2.6.5-7.311-bigsmp.gz
-rw-r--r--   1 root root 1836681 2008-03-15 20:34 vmlinux-2.6.5-7.311-default.gz
lrwxrwxrwx   1 root root      26 2009-02-03 10:19 vmlinuz -> vmlinuz-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root 1701984 2008-03-15 20:32 vmlinuz-2.6.5-7.311-bigsmp
-rw-r--r--   1 root root 1556409 2008-03-15 20:22 vmlinuz-2.6.5-7.311-default
lrwxrwxrwx   1 root root      27 2008-10-24 14:47 vmlinuz.previous -> vmlinuz-2.6.5-7.311-default

The /boot/grub/menu.lst file contents:

# Modified by YaST2. Last modification on Wed Oct 22 22:22:06 2008


timeout 8
default 0

###Don't change this comment - YaST2 identifier: Original name: Linux###
title Linux
    kernel (hd0,0)/vmlinuz root=/dev/rootvg/root vga=0x32b resume=/dev/rootvg/swap selinux=0 splash=silent acpi=off elevator=cfq clock=pit noapic nolapic
    initrd (hd0,0)/initrd

###Don't change this comment - YaST2 identifier: Original name: Linux###
title Linux.orig
    kernel (hd0,0)/vmlinuz.previous root=/dev/rootvg/root vga=0x32b resume=/dev/rootvg/swap selinux=0 splash=silent acpi=off elevator=cfq clock=pit noapic nolapic
    initrd (hd0,0)/initrd

###Don't change this comment - YaST2 identifier: Original name: Failsafe###
title Failsafe
    kernel (hd0,0)/vmlinuz root=/dev/rootvg/root  ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off nosmp noapic maxcpus=0  3
    initrd (hd0,0)/initrd

And no, we're not booting with the Linux.orig title, so I don't even want to hear it... lol Smiley Wink

0 Kudos
cdunlap
Contributor
Contributor

Lovely.... the tag doesn't work. Or I'm doing something stupid.

0 Kudos
cdunlap
Contributor
Contributor

Well, it looks like I just answered my own question, but figured it might be related to your issue.

Open /boot/grub/menu.lst and look for the options passed into the kernel under your "Linux" title. I compared the server that I'm having issues with to a server that I wasn't having issues with and found that the only two differences were the "noapic" and "nolapic" options. Once I removed them and rebooted, I can see both CPU's from "top" and both CPU's are getting time now when I look in the Performance tab in VIC.

So give that a shot, if you have one (or both) of those options in your menu.lst file, remove them and reboot. Hope that helps.

0 Kudos