Jump to content

Allocate more ram to server on 32bit windows server 2008


karl2002

Recommended Posts

Im having issues allocating more than 1gig of ram to my tekkit server on a 32bit windows server enterprise edition.

I know server editions can address way more ram then regular os's but what i can figue out why it wont let me assign more than 1gig of ram

Tryied to assign 5gig and the dedi having 8gig of ram in it

message i get is

Invaleid maximum heap size -xmx5g

the specified size exceeds the maximum representable size

error could not create java virtual machine

when its set to 1gig it starts up perfectly so im really comfused now any hlep would be great

Link to comment
Share on other sites

You pretty much answered your own question. You're running a 32-bit operating system which is only capable of addressing 4,294,967,296 bits (2^32), which comes out to 4 GiB of addressable memory in total. There are tricks such as PAE (Physical Address Extension) which allows the addressable memory of the operating system to extend beyond 4 GiB, however this does not apply to 32-bit processes.

This is the same reason why 32-bit filesystems cannot (without unsupported modifications) contain entities greater than 4 GiB.

tl;dr: The maximum you can address is 4 GiB. Give that a shot.

Link to comment
Share on other sites

You pretty much answered your own question. You're running a 32-bit operating system which is only capable of addressing 4,294,967,296 bits (2^32), which comes out to 4 GiB of addressable memory in total. There are tricks such as PAE (Physical Address Extension) which allows the addressable memory of the operating system to extend beyond 4 GiB, however this does not apply to 32-bit processes.

This is the same reason why 32-bit filesystems cannot (without unsupported modifications) contain entities greater than 4 GiB.

tl;dr: The maximum you can address is 4 GiB. Give that a shot.

Funny enough even 4gig didnt work lol

Link to comment
Share on other sites

Try working down from 4 GiB in 512 MiB increments (4096, 3584, 3072, 2560, etc.) until it works. You're running into virtual memory address space limitations. 4 GiB is the absolute maximum you will have success with as it is the upper ceiling, however the effective ceiling varies from machine to machine based on the operating system and configuration.

From Wikipedia:

On a 32-bit Microsoft Windows installation, by default, only 2 GiB are made available to processes for their own use. The other 2GB are used by the operating system. On later 32-bit editions of Microsoft Windows it is possible to extend the user-mode virtual address space to 3 GiB while only 1 GiB is left for kernel-mode virtual address space by marking the programs as IMAGE_FILE_LARGE_ADDRESS_AWARE and enabling the /3GB switch in the boot.ini file.

On 64-bit Microsoft Windows, processes running 32-bit executables that were linked with the /LARGEADDRESSAWARE:YES option have access to 4 GiB of virtual address space; without that option they are limited to 2GB. By default, 64-bit processes have 8TB of user-mode virtual address space; Linking with /LARGEADDRESSAWARE:NO artificially limits the user-mode virtual address space to 2 GB.

Link to comment
Share on other sites

As for Windows Server 2008 Enterprise (x86) capable of utilizing 64 GiB of memory, that's true. It falls under the PAE exception I mentioned in my first post. Again, this does not apply to user processes.

Thank you for your helpful replys

I was only able to get it up to 1600m no higher any higher and it tells me this message "could not reserve enough space for object"

This is what my launcher bat file currently looks like It works like this but server regualy hits its allocated ram at the momeant

@Echo OFF

SET BINDIR=%~dp0

CD /D "%BINDIR%"

"%ProgramFiles%\Java\jre7\bin\java.exe" -Xms1024m -Xmx1600m -jar tekkit.jar --nojline

PAUSE

Also task manager under performance tells me

there is total 8181 total memory

cached 4187

free 3389

Link to comment
Share on other sites

That sounds about right. One recommendation I will make is to set -Xms and -Xmx to be the same in the context of Minecraft.

If you still need more memory for your Minecraft server you can also add the /3GB switch to your boot.ini file. There are plenty of tutorials online as to how you can go about doing this.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...