How to troubleshoot unexpected memory limitations?

As you know, there are limitations on the available memory depending on the version of the operating system . These limitations may be caused by BIOS, hardware or instruction set architectures (x86,x64) too. Sometimes really hard to predict and troubleshoot them . Everything looks good, but doesn’t work. Let’s analyze basic steps that I have used to solve issues in different situations.

– Check memory limits for supported Windows releases

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx

  • Check Memory Mode in BIOS (Independent, Channel Mirroring, Lockstep, Sparing). For example, Channel Mirroring decreases your memory size by default. To use the full size of memory you should check that Memory mode is independent

bios_memory_mode

  • During POST, notice additional information about memory testing. Full size of memory must be OK. For example, you have 4 Gb installed memory and test shows «4096MB OK» if no problems with BIOS settings or hardware

memory_post_test

– Sometimes the reason is hardware. I had a problem on other Intel SR1670HV server system “DIMM A1 and DIMM A2 are disabled by BIOS”. Unfortunately, it’s mainboard’s bug (upgrading firmware and replacing DIMMs don’t resolve the issue)

  • If your OS uses unoriginal boot configuration , check Maximum Memory option at msconfig >boot > advanced options

msconfig_memory

  • I’ve had a very strange memory limitiation in my OS (Server 2008 R2 SP1 Ent). After server shutdown only 4 gb of 48 gb (6 x 8 Gb) were usable. I tried to change BIOS and OS settings plus checked firmware version. Everything was fine. I did not realize one thing. Why is only 4 gb instead 8 gb? If it was problem with DIMMs I had to get 8 x X Gb of memory. If it was problem with BIOS , I had to receive an information during POST test. So, something happened bad with OS after shutdown. I decided to change server edition using DISM utility (anyway, I had to change it because of VM’s amount) Curiously enough, changing server edition is solution. (I’m sure, simple re-activation can solve too) . To re-activate or change edition use PS and DISM.

Run Powershell. Use DISM /online /Get-CurrentEdition to get  your edition

get-currentedition

Then paste DISM /online /Get-TargetEditions to view possible target editions
get-targeteditions

Finally, to initiate an upgrade, run:

DISM /online /Set-Edition:<edition ID> /ProductKey:___

For example, I have an Enterprise version and want to upgrade to Datacenter.

Important: You have to use KMS key before activation with own key. Get KmS key using this link  http://technet.microsoft.com/en-us/library/ff793421.aspx

DISM /online /Set-Edition:ServerDatacenter /ProductKey:74YFP-3QFB3-KQT8W-PMXWJ-7M648

DISM will reboot server twice. Very strange memory limit has gone away.

Notice: After the reboot you should change the product key and activate system again.

Step-by-step configuring additional domain controller on Server 2008 R2 Core

Important documentation:

Unattended mode to install and remove Active Directory Domain Services
Active Directory Technet Links

Our tasks include:

– install Server 2008 R2 SP1 Core (i hope, you have already done it)
– change server name
– set NIC settings
– activate server
– turn on Windows Update Services and download/install the latest applicable updates
– turn on Remote Desktop connection to our server
– promote server to additional DC in existing domain
– check result

Installation steps

1. After successful installation Server 2008 R2 change your administrator password, log on to server and change server name using sconfig.cmd. Then restart your server.

Sconfig.cmdrenamepc

2. Set static IP (recommended) or enable DHCP (don’t forget to reserve your ip on DHCP server) on your NIC using option 8 of sconfig.cmd

nic_settings_1
Select option 8 and your NIC index
Choose option 1 to set  IP address
Choose option 1 to set IP address
Type D or S to use DHCP or Static IP Address
Type D or S to use DHCP or Static IP Address

3. Use cscript c:\windows\system32\slmgr.vbs to your server activation 

Server 2008 R2 Core Activation
Use -ipk parameter to change your product key and -ato for activation with one

4. Turn on Windows Update Services and download/install latest updates using sconfig.cmd again

Select option 5 to set WSU for automatic searching updates
Select option 5 to set WSU for automatic searching updates
Select option 6 to download and install updates
Select option 6 to download and install updates
Select A to download and install ALL applicable updates
Select A to download and install ALL applicable updates
Wait while WSU downloads and installs ALL applicable update, then restart your server to apply ones
Wait while WSU downloads and installs ALL applicable update, then restart your server to apply ones

5. Enable RDP for remote management using sconfig.cmd option 7

Select option 7 > e to enable rdp and choose option 2 to allow any RDP versions
Select option 7 > e to enable rdp and choose option 2 to allow any RDP versions

6. I hope, you read about unattanded installation domain controller (Unattended mode to install and remove Active Directory Domain Services) . So, we have to create additional file with configuration of promotion (dcpromo). Type notepad yourfilename.txt. By default, your file saves in %USERPROFILE%.Creating_file_for_dcpromo

Paste to this file following strings (don’t forget to edit them 🙂 ) and save txt:

[DCINSTALL]
UserName=rlevchenko
UserDomain=test.com
Password=Pass123
InstallDNS=Yes
ConfirmGC=Yes
ReplicaOrNewDomain=replica
ReplicaDomainDNSName=test.com
SafeModeAdminPassword=Pass123
RebootOnCompletion=Yes

Then execute dcpromo /unattend:<path of the answer file>. Notice, after dcpromo implementation server will automatically reboot because of RebootOnCompletion=Yes.

7. Check dcpromo log for any warnings or error

checking_dcpromo_log
Type cd %systemroot%\debug and open DCPROMO.LOG. Verify that there no any errors and warnings during replica creation

8. On your primary controller check that new server for replica has been added 

WIN+R - type dssite.msc and check that new replica server has been added. Also , check new server properties for replica sources
WIN+R – type dssite.msc and check that new replica server has been added. Also , check new server properties for replica sources

9. Check DNS-records

Open DNS dnsmgmt.msc  and check that A record has been added
Open DNS dnsmgmt.msc and check that A record has been added

10. Check Domain Controller container in Active Directory Users and Computers

Open dsa.msc -> Domain Controllers and check that new DC has been added successfully
Open dsa.msc -> Domain Controllers and check that new DC has been added successfully

12. Our installation is complete. Thanks for your comments!