BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

What is optimum BDE setting for SHAREDMEMLOCATION?

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Desktop)
View previous topic :: View next topic  
Author Message
Ron Boylan
Guest





PostPosted: Wed Apr 21, 2004 9:33 pm    Post subject: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote



I keep receiving error $2501 after starting successive BDE apps -

For performance reasons, we have increased our SHAREDMEMSIZE to 30000. This
apparently causes our application to fail when starting successive BDE
applications - all will try to initialize the BDE with the above settings -
is there any deviation to the SHAREDMEMLOCATION? Can I use a "high" memory
address that is a different location than below?

Also - does each dbiinit() in the same application try to grab 30000 if I
have SHAREDMEMSIZE at 30000?

The help documentation for BDEADMIN states:

SHAREDMEMLOCATION Preferred address of shared memory manager. The shared
memory manager and shared buffer manager load at a preferred address. If
this address is used, the system can find a suitable address (first process
only). If this address conflicts with another application, you might want to
modify it. If the shared managers cannot be loaded into the default, or
specified memory address, one attempt to allow the operating system to find
a memory address is made. If a memory address if specified outside the
boundry (below), the default is used.

Default (for Windows 95): 0xEBDE0000
Minimum Value (for Windows 95): 0x90000000
Maximum Value (for Windows 95): 0xFFFF0000

Default (for Windows NT): 0x6BDE0000
Minimum Value (for Windows NT): 0x10000000
Maximum Value (for Windows NT): 0x7F000000

The range setting for SHAREDMEMLOCATION is 9000 to FFFF for Windows 95 and
1000 to 7F00 for Windows NT. Only the upper word is used to set
SHAREDMEMLOCATION.

SHAREDMEMSIZE Maximum amount of memory BDE will use for shared resources, in
kilobytes. Default: 2048 KB. Minimum: 2048 KB. If a value below 2048 is
specified, 2048 will be used. File handles, drivers, and system, client and
table objects are shared resources and SHAREDMEMSIZE should be increased
when using many of these objects.

Ron




Back to top
Ron Boylan
Guest





PostPosted: Thu Apr 22, 2004 1:29 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote



I have experimented with different SharedMemorylocation settings - but is
there a consistent setting that would work for all machines? Probably not.
So how do we anticipate what works and what doesn't? My first thought would
be to write a routine that tries to allocate a block of memory (30000) at a
given location (0x5BDE)? (3000) - works for most of my machines - x5BDE did
not - do I use VirtualAlloc? LocalAlloc? GetMem? - my theory would be to
test for a memory allocation, and if it works, then pass it to the
DbiOpenCfgInfoList/DbiModifyRecord to modify the appropriate configuration
line. I just don't know how the BDE/IDAPI32 is loaded into memory, and if it
is shared between applications, and how to detect if it is already loaded .
..

Ron Boylan



"Brian Bushay TeamB" <BBushay (AT) Nmpls (DOT) com> wrote

Quote:

I keep receiving error $2501 after starting successive BDE apps -

For performance reasons, we have increased our SHAREDMEMSIZE to 30000.
This
apparently causes our application to fail when starting successive BDE
applications - all will try to initialize the BDE with the above
settings -
is there any deviation to the SHAREDMEMLOCATION? Can I use a "high"
memory
address that is a different location than below?


You can only use the memory addresses with in the range defined help that
you
have in your message. Have you tried other addresses?

this seems to be a good location for NT based operating systems with sound
cards
SharedMemoryLocation : 0x5BDE



Also - does each dbiinit() in the same application try to grab 30000 if I
have SHAREDMEMSIZE at 30000

--
Brian Bushay (TeamB)
[email]Bbushay (AT) NMPLS (DOT) com[/email]



Back to top
Ron Boylan
Guest





PostPosted: Thu Apr 22, 2004 3:41 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote



I searched the web and newsgroups for answers to this memory conflict
problem - all I have found is to try different SharedMemorylocation settings
in a hit and miss fashion - without really knowing what the conflict was -
is there a way of determining what the conflict is - does the BDE have
conflicts with certain sound cards, video drivers, etc?

Can the BDE development staff shed some light on this? I know that the BDE
is becoming obsolete, but there are quite a few legacy apps out there that
are mission-critical - hundreds of thousands of businesses have their
business reliant upon a legacy application that is using the BDE, of which
there is no formal support.

Ron Boylan


"Ron Boylan" <ron (AT) nospamcaterease (DOT) com> wrote

Quote:
I have experimented with different SharedMemorylocation settings - but is
there a consistent setting that would work for all machines? Probably not.
So how do we anticipate what works and what doesn't? My first thought
would
be to write a routine that tries to allocate a block of memory (30000) at
a
given location (0x5BDE)? (3000) - works for most of my machines - x5BDE
did
not - do I use VirtualAlloc? LocalAlloc? GetMem? - my theory would be to
test for a memory allocation, and if it works, then pass it to the
DbiOpenCfgInfoList/DbiModifyRecord to modify the appropriate configuration
line. I just don't know how the BDE/IDAPI32 is loaded into memory, and if
it
is shared between applications, and how to detect if it is already loaded
..
.

Ron Boylan



"Brian Bushay TeamB" <BBushay (AT) Nmpls (DOT) com> wrote in message
news:ibae805di5fkeilu7k2dlf1qc203usak4g (AT) 4ax (DOT) com...

I keep receiving error $2501 after starting successive BDE apps -

For performance reasons, we have increased our SHAREDMEMSIZE to 30000.
This
apparently causes our application to fail when starting successive BDE
applications - all will try to initialize the BDE with the above
settings -
is there any deviation to the SHAREDMEMLOCATION? Can I use a "high"
memory
address that is a different location than below?


You can only use the memory addresses with in the range defined help
that
you
have in your message. Have you tried other addresses?

this seems to be a good location for NT based operating systems with
sound
cards
SharedMemoryLocation : 0x5BDE



Also - does each dbiinit() in the same application try to grab 30000 if
I
have SHAREDMEMSIZE at 30000

--
Brian Bushay (TeamB)
[email]Bbushay (AT) NMPLS (DOT) com[/email]





Back to top
Bill Todd (TeamB)
Guest





PostPosted: Thu Apr 22, 2004 3:59 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote

On Thu, 22 Apr 2004 11:41:39 -0400, "Ron Boylan"
<ron (AT) nospamcaterease (DOT) com> wrote:

Quote:
I searched the web and newsgroups for answers to this memory conflict
problem - all I have found is to try different SharedMemorylocation settings
in a hit and miss fashion - without really knowing what the conflict was -
is there a way of determining what the conflict is - does the BDE have
conflicts with certain sound cards, video drivers, etc?

The only common conflict that I am aware of is with some sound cards
on some NT/2k/XP systems. My experience is that this is fairly rare
and when encountered can be fixed by setting the SharedMemLocation to
0x5BDE with a size of 4096.

The first thing I would try, based on the information you have
provided, is to reduce the SharedMemSize to 4096 and see if the
conflict goes away. If not try changing the SharedMemLocation. If you
find a location that works then try increasing the size slowly and see
where the conflict reappears. If you are having performance problems
try setting the MaxBuffSize to 16 mb and see if that helps.

Quote:

Can the BDE development staff shed some light on this?

These are peer support newsgroups. If you want to talk to a support
engineer you need to call Borland tech support and open a support
incident. The BDE is still a supported product even though no
development has been done for some time and there is no R&D staff
assigned to the BDE.



--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Back to top
Ron Boylan
Guest





PostPosted: Thu Apr 22, 2004 7:56 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote

Bill -

I cannot lower my settings (I tried) without sacrificing performance (.2 -
..5 seconds a transaction)

VERSION=4.0
LOCAL SHARE=TRUE
MINBUFSIZE=4096
MAXBUFSIZE=32768
LANGDRIVER=DBWINUS0
MAXFILEHANDLES=300
SYSFLAGS=0
LOW MEMORY USAGE LIMIT=32
AUTO ODBC=FALSE
DEFAULT DRIVER=DBASE
MEMSIZE=90
SHAREDMEMSIZE=30000
SHAREDMEMLOCATION=
DATA REPOSITORY=Sample Data Dictionary
SQLQRYMODE=
MTS POOLING=FALSE

If I set SHAREDMEMLOCATION to 1000 or 0x6BDE0000, what do these values
represent? A Heap memory address? A local address? Can I check and see if
there is sufficient memory at that location?

Ron

"Bill Todd (TeamB)" <no (AT) no (DOT) com> wrote

Quote:
On Thu, 22 Apr 2004 11:41:39 -0400, "Ron Boylan"
[email]ron (AT) nospamcaterease (DOT) com[/email]> wrote:

I searched the web and newsgroups for answers to this memory conflict
problem - all I have found is to try different SharedMemorylocation
settings
in a hit and miss fashion - without really knowing what the conflict
was -
is there a way of determining what the conflict is - does the BDE have
conflicts with certain sound cards, video drivers, etc?

The only common conflict that I am aware of is with some sound cards
on some NT/2k/XP systems. My experience is that this is fairly rare
and when encountered can be fixed by setting the SharedMemLocation to
0x5BDE with a size of 4096.

The first thing I would try, based on the information you have
provided, is to reduce the SharedMemSize to 4096 and see if the
conflict goes away. If not try changing the SharedMemLocation. If you
find a location that works then try increasing the size slowly and see
where the conflict reappears. If you are having performance problems
try setting the MaxBuffSize to 16 mb and see if that helps.


Can the BDE development staff shed some light on this?

These are peer support newsgroups. If you want to talk to a support
engineer you need to call Borland tech support and open a support
incident. The BDE is still a supported product even though no
development has been done for some time and there is no R&D staff
assigned to the BDE.



--
Bill (TeamB)
(TeamB cannot respond to questions received via email)



Back to top
Bill Todd (TeamB)
Guest





PostPosted: Thu Apr 22, 2004 9:06 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote

On Thu, 22 Apr 2004 15:56:48 -0400, "Ron Boylan"
<ron (AT) nospamcaterease (DOT) com> wrote:

Quote:
If I set SHAREDMEMLOCATION to 1000 or 0x6BDE0000, what do these values
represent? A Heap memory address? A local address?

Sorry, I don't know. I have never seen any documentation that says
specifically what the number represents. It is just a four digit hex
address.

Quote:
Can I check and see if
there is sufficient memory at that location?

No. There is no tool for doing this.

--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Back to top
Markus Humm
Guest





PostPosted: Mon Apr 26, 2004 7:43 pm    Post subject: Re: What is optimum BDE setting for SHAREDMEMLOCATION? Reply with quote

Hello,

you're using V4.0. Maybe this is a bit better in V5.x?
Update or so downloadable somewhere at Borland's site.
Just a wild guess...

Greetings

Markus
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Desktop) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.