Solved

64bit memory and VM question

Posted on 2010-09-14
9
526 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
  • 2
  • 2
  • 2
  • +2
9 Comments
 
LVL 20

Accepted Solution

by:
woolnoir earned 125 total points
Comment Utility
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
Comment Utility
and good counters to use are working set, and private bytes - over time.
0
 
LVL 6

Assisted Solution

by:Caracena
Caracena earned 125 total points
Comment Utility
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
 

Assisted Solution

by:ssingla78
ssingla78 earned 125 total points
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:chuckp2010
Comment Utility
> 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 68

Assisted Solution

by:Qlemo
Qlemo earned 125 total points
Comment Utility
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
Comment Utility
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 68

Expert Comment

by:Qlemo
Comment Utility
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

Wish Marketing would stop bothering you?

Is your marketing department constantly asking for new email signature updates? Are they requesting a different design for every department? Do they need yet another banner added? Don’t let it get you down! There is an easy way to manage all of these requests...

Join & Write a Comment

More and more people are using the enhanced small form-factor pluggable (SFP+) tranceivers, and speed is of utmost importance. Testing of speeds are critical to ensure that the devices will meet the speed requirements. There are some testing challen…
OfficeMate Freezes on login or does not load after login credentials are input.
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 show how to configure a new Backup Exec 2012 server and move an existing database to that server with the use of the BEUtility. Install Backup Exec 2012 on the new server and apply all of the latest hotfixes and service packs. The…

728 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now