List:General Discussion« Previous MessageNext Message »
From:Dan Nelson Date:April 11 2003 10:58pm
Subject:Re: Temp Table Creation: Got error 12 from table handler
View as plain text  
In the last episode (Apr 11), Devaravar, Arun said:
> MYSQL 3.23.39 on Linux 7.3 is returning an error 12 while creating

There is no Linux 7.3.  I'l assume you meant SuSE Linux 7.3.

> temporary tables. Application works fine as long as RAM is available,
> and fails when free memory becomes less than 25MB. Temp tables are
> not bigger than 23 MB. We are reluctant to use
> tmp_table_size/big_tables for performance reasons.
> Errors:
> 1.	[TCX][MyODBC]Got error 12 from table handler 
> *	perror 12 say: Error code  12:  Cannot allocate memory 
> 2.	[TCX][MyODBC]Out of memory (Needed 400 bytes) 
> I understand, that, there is not enough memory. The server has 8GB
> SWAP; however ZERO size is being used. We have tried all sorts of
> swap commands (mkswap, swapon, swapoff) to setup SWAP partitions as
> well as swap file. It didn't work.
> Anyone is using 8GB RAM with 8GB/16GB SWAP?
> Any info why MYSQL is not using SWAP? 
> Is there limitation on memory usage by MYSQL? 
> <> 
> Above article explains about Kernel limitation to use bigger memory. Is it
> true anymore? Is there MYSQL parameter to setup to use bigger memory? 

i386 systems cannot access more than 4gb per process, and usually less
than that because the kernel requires some also.  I forget what the
default is, but it's probably 1gb kernel/3gb userland.  So your mysql
process is limited to ~3gb.  Mysql will never need to swap if it's the
only thing running on the system, since it can never exceed 8GB of RAM.
> ----------------------Mysql.cnf ------------------
> set-variable    = key_buffer=4096M 

Try setting this to 2048M

	Dan Nelson
Temp Table Creation: Got error 12 from table handlerArun Devaravar11 Apr
  • Re: Temp Table Creation: Got error 12 from table handlerDan Nelson12 Apr