Please be aware that the SAP SQL Anywhere Forum will be shut down on August 29th, 2024 when all it's content will be migrated to the SAP Community.

Is this simply a case of "not enough cache memory" for dbsrv11.exe?

Scenario: 100 database started in one engine, then 10 connections attempted for each database.

I. 09/14 11:20:32. SQL Anywhere Network Server Version 11.0.1.2276 I. 09/14 11:20:32. Workgroup edition
...
I. 09/14 11:20:32. Database "ddd001" (ddd001.db) started at Tue Sep 14 2010 11:20
...
I. 09/14 11:22:24. Database "ddd100" (ddd100.db) started at Tue Sep 14 2010 11:22
I. 09/14 11:22:44. Cache size adjusted to 235580K
I. 09/14 11:22:49. Cache size adjusted to 249980K
...
I. 09/14 12:54:26. Allocating a communication buffer failed
I. 09/14 12:54:26. Allocating a communication buffer failed
... [many similar messages]
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
I. 09/14 12:54:29. Disconnected SharedMemory client's AppInfo: IP=192.168.1.104;HOST=BCARTER-PC;OSUSER=bcarter;OS='Windows Vista Build 6001 Service Pack 1';EXE=C:\Breck\benchmark\rrloadtest.exe;PID=0x1f4c;THREAD=0x1de8;VERSION=11.0.1.2276;API=ODBC;TIMEZONEADJUSTMENT=-240
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
I. 09/14 12:54:29. Disconnected SharedMemory client's AppInfo: IP=192.168.1.104;HOST=BCARTER-PC;OSUSER=bcarter;OS='Windows Vista Build 6001 Service Pack 1';EXE=C:\Breck\benchmark\rrloadtest.exe;PID=0x1f4c;THREAD=0x778;VERSION=11.0.1.2276;API=ODBC;TIMEZONEADJUSTMENT=-240
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
... [and so on]

asked 14 Sep '10, 17:07

Breck%20Carter's gravatar image

Breck Carter
32.5k5417271050
accept rate: 20%


No, the communication buffers don't come out of the cache. This is a case of the server process running out of memory - either creating a buffer using malloc failed or creating a piece of shared memory failed.

A thousand connections to a single server isn't all that crazy, though 100 databases on a single server is quite a lot. If you try a 64-bit server on a machine with lots of RAM, I suspect you are less likely to see this problem.

permanent link

answered 14 Sep '10, 17:34

Graeme%20Perrow's gravatar image

Graeme Perrow
9.6k379124
accept rate: 54%

4GB RAM, less than half used, and 64-bit Vista Ultimate. Removing the -c and -gn parameters made the problem go away... probably removing the -gn did the trick, I had stupidly set a large value -gn 120.

(14 Sep '10, 18:25) Breck Carter
3

It's not memory that is the limitation here but address space. On 64-bit Windows a 32-bit process has 4GB of address space. What was the max cache size (-ch whether explicit or by default)? It's displayed at startup and that comes out of your address space. The default in your configuration should be about 3.6GB. -gn 120 accounts for another 120MB (by default) of address space for thread stacks. Take out the executable, DLLs & some other allocations outside of the cache and the server is really tight for address space.

Use the 64-bit server and never worry about address space again :)

(15 Sep '10, 01:28) John Smirnios
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×95

question asked: 14 Sep '10, 17:07

question was seen: 2,425 times

last updated: 14 Sep '10, 17:34