List:Cluster« Previous MessageNext Message »
From:Tomas Ulin Date:October 8 2004 3:35pm
Subject:Re: Problem allocating RAM?
View as plain text  
I would suggest the following;

double your number of ndbd processes and run 2 on each machine, i.e. 
total of 8, 2 on each machine;

and with DataMem 1024G and IndexMem 512M

You will then be able to store the same amount of data as in your 
original setup.

Also, any particular reson your running 4 replicas?  Decreasing it to 2 
will double your storage capacity in the cluster.

Config file would read something like:

[ndbd]
HostName= a;
[ndbd]
HostName= b;
[ndbd]
HostName= c;
[ndbd]
HostName= d;
[ndbd]
HostName= a;
[ndbd]
HostName= b;
[ndbd]
HostName= c;
[ndbd]
HostName= d;

T

Paul Gardner wrote:

>Tomas
>
>Yes, 4 different machines run ndbd - those machines have 8GB each,
>totalling 32GB across the cluster.
>
>So, it should be working right?
>
>Cheers
>Paul
>
>
>On Fri, 08 Oct 2004 15:07:50 +0000, Tomas Ulin <tomas@stripped> wrote:
>  
>
>>Paul,
>>
>>Are you running on 4 different machines each with 8GB?
>>
>>Each ndbd will allocate 3GB+ memory, so total of 4x3GB+  = 12GB+
>>
>>T
>>
>>
>>
>>Paul Gardner wrote:
>>
>>    
>>
>>>Hi again
>>>
>>>This one is freaking me out.
>>>
>>>My storage nodes have 8GB of RAM each (4 of).
>>>
>>>In config.ini:
>>>
>>>[NDBD DEFAULT]
>>>NoOfReplicas: 4
>>>DataMemory: 2048M
>>>IndexMemory: 1024M
>>>
>>>When starting ndbd, I get:
>>>
>>>Type of error: error
>>>Message: Memory allocation failure
>>>Fault ID: 2327
>>>Problem data: DBTUP could not allocate memory for Page
>>>Object of reference: Requested: 32768x65536 = 2147483648 bytes
>>>ProgramName: NDB Kernel
>>>ProcessID: 5007
>>>TraceFile: /usr/local/mysql/data/ndb_3_trace.log.8
>>>***EOM***
>>>
>>>Plenty of RAM available:
>>>
>>>[root@cl-mn-1 data]# free
>>>            total       used       free     shared    buffers     cached
>>>Mem:       8258764     392100    7866664          0      93660     106052
>>>-/+ buffers/cache:     192388    8066376
>>>Swap:      2040244          0    2040244
>>>
>>>A bit of code to use malloc() to allocate 2GB of RAM succeeds:
>>>
>>>#cat testmem.c
>>>#include <stdlib.h>
>>>main(int argc, char** argv) {
>>>       size_t n=atoll(argv[1]);
>>>       if (malloc(n)) printf("%lld allocated\n",(long long)n);
>>>       else perror("");
>>>}
>>>#gcc testmem.c
>>>#./a.out 2147483648
>>>2147483648 allocated
>>>
>>>I'm running the mysql-max-4.1.5-gamma binary distribution.
>>>
>>>Is this a bug or am I doing something idiotic?
>>>
>>>Please help - very nearly there!
>>>
>>>One other question - will Mysql support the cluster through a support
>>>contract (which I'm about to buy anyway) or will they insist on
>>>waiting for it to be declared production ready?
>>>
>>>Thanks
>>>Paul
>>>
>>>
>>>
>>>      
>>>
>>    
>>
>
>  
>

Thread
Problem allocating RAM?Paul Gardner8 Oct
  • Re: Problem allocating RAM?Tomas Ulin8 Oct
    • Re: Problem allocating RAM?Paul Gardner8 Oct
      • Re: Problem allocating RAM?Tomas Ulin8 Oct
        • Re: Problem allocating RAM?Paul Gardner8 Oct
          • Re: Problem allocating RAM?Tomas Ulin8 Oct
          • Re: Problem allocating RAM?Tomas Ulin8 Oct
            • Re: Problem allocating RAM?Paul Gardner8 Oct
              • Re: Problem allocating RAM?Tomas Ulin8 Oct
                • Re: Problem allocating RAM?Paul Gardner8 Oct
  • Re: Problem allocating RAM?Mikael Ronström8 Oct