From: Luke H. Crouch Date: July 31 2004 3:27pm Subject: RE: table full error? List-Archive: http://lists.mysql.com/cluster/238 Message-Id: <075C170BC7219F439DD3FE8C880648C1AB0A69@lakota.red-man.com> MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable ulimit -a gives: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) 4 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 7168 virtual memory (kbytes, -v) unlimited when I compile and run that code, I get 'Segmentation fault' ? thanks for all the help, -L -----Original Message----- From: pekka@stripped [mailto:pekka@stripped] Sent: Sat 7/31/2004 4:41 AM To: Crouch, Luke H. Cc: Mikael Ronstr=F6m; cluster@stripped Subject: Re: table full error? Hi Mikael is on holiday. > so, there is 2 GB free swap space memory. does ndbd assume memory is = continuous? It does normal malloc() or C++ new for all memory areas. These of course return contiguous pieces of memory. So e.g. DataMemory will be (and must be) contiguous. Since free() or C++ delete is almost never done, there should be no problem with fragmentation. > > > that's 2 GB free memory! and it's having problems allocating just = 500M=20 What does "ulimit -a" say? Have you tried running as root? Test max malloc with this: =09 #include main(int argc, char** argv) { size_t n =3D atoll(argv[1]); if (malloc(n)) printf("%lld ok!\n", (long long)n); else perror(""); } On this 32-bit debian machine I get about max 1.1G (less than I expected): % ./a 1100000000 1100000000 ok! % ./a 1200000000 Cannot allocate memory --=20 Pekka Nousiainen, Software Engineer MySQL AB, www.mysql.com Mail: pekka@stripped, Phone: +46 (0) 73 068 4978