Solved

64bit memory and VM question

Posted on 2010-09-14
9
550 Views
Last Modified: 2013-11-10
Hello

Our environment is ESX 3.5, Windows 2003 SP2 Enterprise servers guests.

We have an application running on a VM guest. It is a 32bit app, but we have assigned 4GB RAM just in case. We figure that if the RAM is not used, we are not actually losing anything, since we are not directly paying for its exclusive use like we would do with a physical box.

We're now in the midst of a refresh, and we're upgrading to Windows 2008 R2 servers which are all 64bit OS.

I'm trying to work out what amount of RAM to assign the guests that will host the application.

- Should we continue to assign 4GB

- Is there any benefit of assigning more than 4GB for a 32bit app (I read on EE that 32bit apps could only see 4GB virtual address space per process, but I guess there could be multiple processes)

- The third option I'm thinking is using Perfmon to baseline our existing servers and find an average of memory use over, say, 48 hours. Does anyone know what the best counter to use would be and is it simply a case of running Perfmon for 48 hours and using the average value for whatever counter? Question is, does 2008 handle memory in any differernt way than 2003 server?

0
Comment
Question by:chuckp2010
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +2
9 Comments
 
LVL 20

Accepted Solution

by:
woolnoir earned 125 total points
ID: 33675459
If you are only running 1 of these apps in a VM then it would be wasted to assign more than 4GB to the VM, unless the app used somewhere close to the full allocation itself. Remember you need to give the OS memory, allocate some for caching (speeds up the system somewhat) and then the amount the app needs.

a 32 bit app is limited to a 4GB address space, but it may not use 4GB, if it doesn't continue assigning 4Gb to your VM's. If the app uses the full 4GB then assign something lke 6GB to a VM.
0
 
LVL 20

Expert Comment

by:woolnoir
ID: 33675483
and good counters to use are working set, and private bytes - over time.
0
 
LVL 6

Assisted Solution

by:Cesar Aracena
Cesar Aracena earned 125 total points
ID: 33677696
I have as a rule of thumb, to install a 64-bit OS only if I have over 3GB of RAM unless some program specifies a 64-bit OS as a requirement.

With that being said, if you are running 32-bit applications, 3 (or in your case 4) GB or RAM is more than enought. I wouldn't care too much about finding out how much memory my apps are actually using. If they are built for 32-bit they will never demoand a lot.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Assisted Solution

by:ssingla78
ssingla78 earned 125 total points
ID: 33680213
Hi
For 32 bit applications, 4 GB memory is more than sufficient as applicaions are not designed to make use of more than 4 GB memory.

Moreover when you are using Virtual environment such as Vmware, it has inbuilt ways such as Ballooning which helps VMs to have sufficient memory resources.

I suggest you stick to 4 GB per VM and enable DRS ( Dynamic Resource Scheduler) as well to manage resource allocation automatically. For desiging new infrastructure, you can use Vmware Capacity Planning rather thah setting perfmon which are very tedious. The other problem with these counters is that these get reset after any restart of VMs..so eventually makes difficult to capture and analyse data for large duration.

Hope it helps.
0
 

Author Comment

by:chuckp2010
ID: 33748681
> For 32 bit applications, 4 GB memory is more than sufficient as applicaions are not designed to make use of more than 4 GB memory

Isn't it that each process can use only up to 4GB? Each app could technically have multiple processes and therefore need to use more than 4GB RAM?
0
 
LVL 70

Assisted Solution

by:Qlemo
Qlemo earned 125 total points
ID: 34075508
Since it is not said whether the VM guest is 32bit or 64bit, the previously made statements are not accurate.

32bit apps can use 2 GB only, because the other 2 GB virtual memory space are allocated to the OS. There are tweaks like AWE / PAE, or /3GB OS boot switch, which can change that on a 32bit (!) OS, but the application needs to be designed for using that additional memory.

32bit apps on 64bit OS are able to address 4 GB.

An application and a process is identical. The max. addressable memory limit applies to each process (and hence application). A process has several threads - but that is something completely different.
0
 

Author Comment

by:chuckp2010
ID: 34106094
Hi Olemo

The VM guest is 64 bit....

> An application and a process is identical

An application can (and I thought they normally do) have more than one process though? And the 2 GB limit with 32 bit OS limit is per process isn't it?
0
 
LVL 70

Expert Comment

by:Qlemo
ID: 34106506
As I have stated already, an application does not consist of more than one process. The process concept of e.g. UNIX does not apply here, since you can't spawn a separate process from the main process by copying itself. If you see the same .exe running more than once, they are are all separate instances (= applications = processes = files). For communication between them they need to implement own inter-process communication methods.

I don't know why you think an application might consist of more than one process.
0

Featured Post

Veeam gives away 10 full conference passes

Veeam is a VMworld 2017 US & Europe Platinum Sponsor. Enter the raffle to get the full conference pass. Pass includes the admission to all general and breakout sessions, VMware Hands-On Labs, Solutions Exchange, exclusive giveaways and the great VMworld Customer Appreciation Part

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After seeing many questions for JRNL_WRAP_ERROR for replication failure, I thought it would be useful to write this article.
Resolving an irritating Remote Desktop connection that stops your saved credentials from being used.
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…
This tutorial will walk an individual through setting the global and backup job media overwrite and protection periods in Backup Exec 2012. Log onto the Backup Exec Central Administration Server. Examine the services. If all or most of them are stop…
Suggested Courses

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question