|
From: Cyril S. <cyr...@fr...> - 2010-04-06 20:34:25
|
Hi, When I start MySQL, InnoDB engine allocate his buffer pool without any issue. It's not the same when I launch it with Valgrind :( What can I do to resolve this issue ? -- Cyril SCETBON |
|
From: John R. <jr...@bi...> - 2010-04-06 20:46:39
|
> When I start MySQL, InnoDB engine allocate his buffer pool without any > issue. It's not the same when I launch it with Valgrind :( > What can I do to resolve this issue ? Post a copy of the error message(s). It is necessary first to identify _which_ error(s). Include the machine architecture (i686, x86_64, etc.) and the operating system. In other words, give a decent bug report. Speculating that you may be running Linux on i686, then _sometimes_ it is possible to obtain an extra 0.8GB of address space by running the i686 version of the application and valgrind on a x86_64 machine. -- |
|
From: Cyril S. <cyr...@fr...> - 2010-04-07 08:32:51
|
John Reiser a écrit : >> When I start MySQL, InnoDB engine allocate his buffer pool without any >> issue. It's not the same when I launch it with Valgrind :( >> What can I do to resolve this issue ? >> > > Post a copy of the error message(s). It is necessary first to identify > _which_ error(s). Include the machine architecture (i686, x86_64, etc.) > and the operating system. In other words, give a decent bug report. > > Speculating that you may be running Linux on i686, then _sometimes_ > it is possible to obtain an extra 0.8GB of address space by running > the i686 version of the application and valgrind on a x86_64 machine. > > I understand. Here are the information you asked for : Linux host01 2.6.24.2 #1 SMP Wed Feb 20 15:40:12 CET 2008 i686 GNU/Linux the error message is the following : 100407 10:11:45 InnoDB: Error: cannot allocate 1610629120 bytes of InnoDB: memory with malloc! Total allocated memory InnoDB: by InnoDB 23965696 bytes. Operating system errno: 0 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. InnoDB: Note that in most 32-bit computers the process Outch ! you think the process is trying to allocate 1.6GB+~0.8GB+(more memory for mysql) and that's over the max memory per process on x86 ? Regards -- Cyril SCETBON |
|
From: Julian S. <js...@ac...> - 2010-04-07 09:50:09
|
> 100407 10:11:45 InnoDB: Error: cannot allocate 1610629120 bytes of > InnoDB: memory with malloc! Total allocated memory You've probably got a fragmentation problem here too. For this allocation to succeed requires not only 1.6GB free address space (out of your total 4GB space), but also that this is available as one single piece. Much easier to do everything at 64 bit in this kind of situation. J |
|
From: Cyril S. <cyr...@fr...> - 2010-04-07 09:59:45
|
Julian Seward a écrit : >> 100407 10:11:45 InnoDB: Error: cannot allocate 1610629120 bytes of >> InnoDB: memory with malloc! Total allocated memory >> > > You've probably got a fragmentation problem here too. For this allocation > to succeed requires not only 1.6GB free address space (out of your total > 4GB space), but also that this is available as one single piece. > I vote for the max memory per process reached. But I didn't check it... > Much easier to do everything at 64 bit in this kind of situation. > > J > > > -- Cyril SCETBON |
|
From: Stewart S. <st...@fl...> - 2010-04-06 23:26:20
|
On Tue, 06 Apr 2010 22:34:17 +0200, Cyril Scetbon <cyr...@fr...> wrote: > When I start MySQL, InnoDB engine allocate his buffer pool without any > issue. It's not the same when I launch it with Valgrind :( > What can I do to resolve this issue ? How large buffer pool are you trying to allocate? That's likely the issue. Valgrind uses more memory. (have run mysql and now drizzle under valgrind about every day for the past 5 years or something) -- Stewart Smith |
|
From: Stewart S. <st...@fl...> - 2010-04-07 08:28:32
|
On Wed, 07 Apr 2010 10:16:31 +0200, Cyril Scetbon <cyr...@fr...> wrote: > 100407 10:11:45 InnoDB: Error: cannot allocate 1610629120 bytes of > InnoDB: memory with malloc! Total allocated memory > InnoDB: by InnoDB 23965696 bytes. Operating system errno: 0 > 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. > InnoDB: Note that in most 32-bit computers the process > > Outch ! you think the process is trying to allocate 1.6GB+~0.8GB+(more > memory for mysql) and that's over the max memory per process on x86 ? Under valgrind on 32bit... could be getting close. try with a smaller buffer pool, or just use 64bit :) -- Stewart Smith |
|
From: Cyril S. <cyr...@fr...> - 2010-04-07 08:47:08
|
Stewart Smith a écrit : > On Wed, 07 Apr 2010 10:16:31 +0200, Cyril Scetbon <cyr...@fr...> wrote: > >> 100407 10:11:45 InnoDB: Error: cannot allocate 1610629120 bytes of >> InnoDB: memory with malloc! Total allocated memory >> InnoDB: by InnoDB 23965696 bytes. Operating system errno: 0 >> 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. >> InnoDB: Note that in most 32-bit computers the process >> >> Outch ! you think the process is trying to allocate 1.6GB+~0.8GB+(more >> memory for mysql) and that's over the max memory per process on x86 ? >> > > Under valgrind on 32bit... could be getting close. > > try with a smaller buffer pool, or just use 64bit :) > > seems to work better if I assign less memory to InnoDB. Thanks for your help ! -- Cyril SCETBON |