KNOWLEDGE BASE
Log In    |    Knowledge Base    |    4D Home
Tech Tip: The "Kernal memory" setting in Customizer Plus
PRODUCT: 4D | VERSION: | PLATFORM:
Published On: August 13, 1999
Your current browser may not allow you to download the asset. We recommend Mozilla Firefox or Google Chrome.
Log In

On the Macintosh, if you have not selected the "Use New Memory Allocation Scheme on Macintosh" check box in the "System settings" page of Database Properties, 4D's memory is configured by editing the "Memory" resource with Customizer Plus. This resource contains a "Kernel memory" setting that is widely misunderstood.

The default value of the "Kernel memory" setting is 512K. The allowed values range from a minimum of 100K to a maximum of 1,073,741,824K.

In older versions of 4D that ran on 68000-series Macintoshes, you could adjust the size of the "kernel memory" area where the program segments of 4D's engine loaded into.

4D v6.5 does not run on those processors. On the Macintosh platform, it only runs on PowerPC processors. On PowerMacs, the only way you can affect how much memory will be used for loading program code is by choosing to use or not use virtual memory. The "kernel memory" setting of 4D v6.5 has no effect whatsoever on the amount of memory used to store the code of the 4D engine. However, it most definitely does affect how 4D allocates memory, but in a very different way than its name would imply.

If you increase "Kernel memory" by a given amount, the size of the data cache decreases by half that amount. The "Information" section of the Runtime Explorer's Watch page shows that free memory is increased by half the given amount.

If you decrease "Kernel memory" by a given amount, the size of the data cache increases by half that amount. The "Information" section of the Runtime Explorer's Watch page shows that free memory is decreased by half the given amount.

By adjusting the "Kernel memory" figure together with the "Cache memory" percentage, you can cause the size of the data cache to be reduced to as little as 64K. If you have a 4D database that does not use the data file at all, this would be an ideal allocation for your memory. Certain web applications would fit this description.