Solved

64bit memory and VM question

Posted on 2010-09-14
9
541 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

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

On Beyond Tools A conversation I recently had with the DevOps manager of a major online retailer really made me think about DevOps monitoring tools (https://www.onpage.com/devops-incident-management-tool/). The manager and I discussed how sever…
I was prompted to write this article after the recent World-Wide Ransomware outbreak. For years now, System Administrators around the world have used the excuse of "Waiting a Bit" before applying Security Patch Updates. This type of reasoning to me …
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…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles to another domain controller. Log onto the new domain controller with a user account t…

752 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