Per,

----- Original Message -----
From: "Per Andreas Buer" <[EMAIL PROTECTED]>
Newsgroups: mailing.database.mysql
Sent: Sunday, June 16, 2002 2:10 PM
Subject: Re: innodb keeps crashing due to out-of-memory errors.


> Oh, by the way. The error does not occur if I use less memory.

please show us your complete my.cnf.

Could it be that the mysqld memory usage may approach 2 GB? In that case
glibc will start allocating memory over thread stacks, which will cause all
kinds of crashes and errors.

Note that each thread using sorting will use sort_buffer much memory, and
each thread using a MyISAM table scan will use record_buffer much memory. Do
you have many queries doing sorting simultaneously?

> 020615 21:45:28  InnoDB: Out of memory in additional memory pool.
> InnoDB: InnoDB will start allocating memory from the OS.
> InnoDB: You may get better performance if you configure a bigger
> InnoDB: value in the MySQL my.cnf file for
> InnoDB: innodb_additional_mem_pool_size.
> InnoDB: Fatal error: cannot allocate 2851686576 bytes of
> InnoDB: memory with malloc! Total allocated memory
> InnoDB: by InnoDB 1413577223 bytes. Operating system errno: 12
> InnoDB: Cannot continue operation!
> InnoDB: Check if you should increase the swap file or
> InnoDB: ulimits of your operating system.
> InnoDB: On FreeBSD check you have compiled the OS with
> InnoDB: a big enough maximum process size.
> Obtained 10 stack frames.
> /usr/sbin/mysqld(ut_malloc_low+0xb8) [0x823ba28]
> /usr/sbin/mysqld(ut_malloc+0x13) [0x823c37b]
> /usr/sbin/mysqld(mem_area_alloc+0xf9) [0x823a601]
> /usr/sbin/mysqld(mem_heap_create_block+0x63) [0x82397d3]
> /usr/sbin/mysqld(dtuple_convert_big_rec+0x1b6) [0x8235fde]
> /usr/sbin/mysqld(btr_cur_optimistic_insert+0x3e1) [0x8198bdd]
> /usr/sbin/mysqld(row_ins_index_entry_low+0x674) [0x81614b4]
> /usr/sbin/mysqld [0x816175e]
> /usr/sbin/mysqld(row_ins+0x1cc) [0x8161950]
> /usr/sbin/mysqld(row_ins_step+0xf7) [0x8161a83]

The trace above is sensible. Do you have a BLOB or TEXT column in the table
where it is doing an insert? If not, then the index entry tuple which InnoDB
has just constructed has probably garbage in its fields, and that is why
InnoDB believes it is a 'big record'.

> > What do you mean by syncing logs?
>
> Syncing the log-files, or journal. This only makes sense if one runs
> with innodb_flush_log_at_trx_commit=0. This is really not an important
> issue. If one requires durability one should buy adequate hardware. :/

InnoDB tries to flush the log once per second even if you set ...=0.

> --
> Per Andreas Buer
>
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail
<[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to