MySQL Forums
Forum List  »  Newbie

Creating key caches of size greater than 2GB
Posted by: Shaji Sebastian
Date: April 18, 2005 06:02PM

I am attempting to create a key cache of size greater than 2GB on mysql 4.1.11 on Redhat Enterprise 3 running on a 32 bit Intel server with 4GB of memory. Since the kernel is in 3GB/1GB memory mode, I know that the mysql process cannot allocate more than 3GB of memory. However I am unable to have it allocate more than 2 GB of memory which is surprising.

I have the mysql configuration appended to this message. I ask it to load all the indexes of a large table into the cache. After about two minutes the command completes successfully. However the number of key_blocks_used is 1833165 which is less than 2GB of memory. key_blocks_unused is 0. The indexes are larger than that. Subsequently a query on the table which only uses the indexes of that cache is made and the number of key_reads goes up by about 1647 blocks, showing that the cache has not fully loaded the indexes. The memory used by mysql is only around 2GB (as seen in top).

I don't understand why I am not able to load closer to 3GB worth of data into the cache. Any ideas?

Another question I have is how one can view status variables like key_buffers_unused, key_read_requests for a named cache.

Thanks.

my.cnf fragment follows:
[mysqld]
port = 8084
...
skip-innodb
skip-locking
bulk_insert_buffer_size = 16M
key_buffer = 3584M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 64M
read_buffer_size = 32M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

Options: ReplyQuote


Subject
Written By
Posted
Creating key caches of size greater than 2GB
April 18, 2005 06:02PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.