MySQL Memory Usage Limits on 32 bit Linux

I’m having RHEL 5 (32-bit) and MySQL-5.

I was trying to check how much is the Memory Utilization limits for MySQL 5 on 32bit OS.

We can easily calculate the maximum capacity of the address space is 2^32 bytes and that is where these limits come from.
* For MYSQL 5.0: Following are memory (storage) limits:

Max DB size:  Unlimited
Max table size:  MyISAM: 256TB; Innodb: 64TB
Max row size: 64 KB
Max columns per row: 4096
Max Blob/Clob size: 4 GB (longtext, longblob)
Max CHAR size: 64 KB (text)
Max NUMBER size: 64 bits
Min DATE value: 1000
Max DATE value: 9999
Max column name size: 64

* OS Memory Limitations:

Maximum x86 per-process virtual address space for Red-Hat Linux Version
Version 4: ~ 4GB
Version 5: ~ 3GB
* Server Parameters memory allocation limits:

For following buffers:
• key_buffer_size
• join_buffer_size
• myisam_sort_buffer_size
• sort_buffer_size
– Maximum allowable setting is 4GB.
– As of MySQL 5.1.23, values larger than 4GB are allowed for 64-bit platforms.

Others:
net_buffer_length -1MB.
read_buffer_size – 2GB.
read_rnd_buffer_size – 2GB.

* About globally limiting memory usage by MySQL Server:

MySQL is not having any other parameter that directly limits the memory usage. It’s these global buffers / server variables are the only setting which extends / shrinks server memory usage limits.

Eg. max_connections, variable for specifying number of simultaneous connection, depends on OS limits to handle file handlers. No documented limit is there for the same.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You May Also Like

How to meet Signal 11 bug in MariaDB

Bugs in database management systems can be a nightmare for administrators and developers. In my recent experiments, I discovered a Signal 11 bug in multiple versions of MariaDB, resulting in…
View Post