Scaling TurnKey up to 64GB of RAM (via PAE)

Alon Swartz's picture

There's been some discussion on the forum regarding PAE (Physical Address Extension), which allows you access up to 64GB of memory.

Last night I came across a blog post by Phillip Bailey (developer of smooth-sec: IDS/IPS appliance based on TurnKey) where he explained the steps required to enable PAE.

It's best to read his post for the full explanations, but just for reference:

Default kernel on a server with 8GB of RAM we can only see 3GB

# free -m
Mem: 3072

Determine if the CPU has PAE support

# grep pae /proc/cpuinfo
flags	 : fpu vme de pse tsc msr pae
flags	 : fpu vme de pse tsc msr pae

Install the PAE Kernel

# apt-get update
# apt-get install linux-generic-pae

Reboot, and verify the new kernel is being used

# uname -a |grep pae

Verify new kernel recognizes all our RAM

# free -m
Mem: 8192
gbrehm's picture


I have been away from linux for a while and brand new to TKL.  I appreciate your work here, very impressive.


I was referred to this post by Jedmeister as a possible fix for what I'll call the acceleration issue.  TKL Moodle install would not boot on ESXi4.1 U1 with acceleration turned on.  I tried installing generic-pae but it did not help.  


Based on a reccomendation I found here; , I installed 2.6.35-23-generic.  This fixed the "acceleration" issue.  I can now boot the system with acceleration turned on.  My question for you is, how does this affect my TKL Moodle going forward?  It seems that TKL is configured to update automatically?  Does my manual kernel update affect this?  Are there any other ramifications I should be aware of going forward?


I'm looking forward to using our TKL Moodle install and checking out other TKL offerings.  Thanks again for the effort!


Geoff Brehm

Habib's picture

Thanks, Alon.. It works!

Landis Arnold's picture

I have a Joomla and a Magento instance each running with 2048mb Ram...  Still it often seems that the base system's run more like a base 512mb install.

How might we systematically adjust PHP and MYSQL (and other settings) to take advantage of greater Ram Availability?  Does this happen by itself or does tuning need to take place on TKL Appliances?

Jeremy Davis's picture

But they are very generic and the appliances should be considered a usuable generic default, rather than in any way optimised for specific usage scenarios. Adjustments to specific appliances on specific setups are at the users descretion.

Someone may come along here with some ideas, but really you're probably better off seeking answers elsewhere. The Ubuntu forums would be a good starting point I would think (as TKL v11.x is based on Ubuntu 10.04 Server). Also the forums/mailing lists of the specific software would be good places to get ideas for tweaking the individual appliactions (as their usage of other things such as PHP and MySQL). Plus if all else fails google may help.

If you find something interesting that works for you, please post back though as others may be looking for something similar.

joel's picture

"How might we systematically adjust PHP and MYSQL (and other settings) to take advantage of greater Ram Availability?  Does this happen by itself or does tuning need to take place on TKL Appliances?"


You are on the right track! Your instance will run terribly slow if not optimized for your particular application (Joomla and Magento) in this case. 


Start with a google search for "mysql tuning joomla" and "php tuning joomla" You'll find some basic, low hanging fruit...some things that you can change with a few clicks or keystrokes that will make a world of difference. 

For me, running the tuner was a huge benefit. As I also use Joomla, implementing php caching helped. So did using mysqli instead of mysql (again do a google search on Joomla mysqli) There are tons of threads and forum posts about "optimizing Joomla LAMP" or "optimize mysql for joomla"

By no means am I an expert on this. From what I can tell, seting up LAMP and running Joomla on it with no tweaks is like installing Windows and not going in and changing the default sounds, location of the start bar....we are so used to customizing our computing environments, but not when it comes to unfamilier territory.


Good luck and happy tweaking!

Schopp's picture

Hello, I am working off a TKL Moodle install and I have run the free -m command to find out that the system is only seeing/using 2gb or RAM. There are 16GB installed. How can i get the sytem to start using all of the ram? Also, I am a complete newbie at this! Any help would be greatly appreciated.

Jeremy Davis's picture

The instructions are pretty much the same for TKL v12.0 as they were for v11.x but the kernel name is different.

Hopefully it should be a simple case of:

apt-get update
apt-get install linux-image-686-bigmem

And then reboot. (I haven't tested this, just had a quick google).

Check that your rebooted system is using all the RAM now:

free -m

Post new comment