dbTalk Databases Forums  

what to do when you get 'Not enough memory' error

sybase.public.sqlanywhere.general sybase.public.sqlanywhere.general


Discuss what to do when you get 'Not enough memory' error in the sybase.public.sqlanywhere.general forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Deepali
 
Posts: n/a

Default what to do when you get 'Not enough memory' error - 10-13-2009 , 10:02 AM






when i try to start ASA 7 database service, i get an error :
Not enough memory

Reply With Quote
  #2  
Old   
Jeff Albion [Sybase iAnywhere]
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-13-2009 , 10:21 AM






Deepali,

Usually this is when you set the initial cache size (-c) beyond the size
of the process space. See my post here for more details about this
limitation:

http://groups.google.com/group/sybas...e3c4386591996d

What does your start-line look like? What operating system are you on?

Regards,

Deepali wrote:
Quote:
when i try to start ASA 7 database service, i get an error :
Not enough memory
--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :
http://www.sybase.com/developer/libr...ere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs :
http://downloads.sybase.com/swd/summ...&timeframe =0
Report a Bug/Open a Case : http://case-express.sybase.com/cx/

Reply With Quote
  #3  
Old   
Deepali
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-14-2009 , 08:29 AM



Quote:
Hi Jeff.. Thank you for replying.
I am on Win 2000 virtual server with ASA7 installed.
I got the error when I was testing moving files for
increasing performance.I had moved the .log and .mlg files
to drive C: from E: which contains the .db file and for that
wizard I stopped the server service. then when i tried to
start the network database service, I got the error: Not
enough memory and service wasn't starting. Then I
uninstalled and reinstalled the database and recreated the
service. Then again when trying to register the database
with ODBC, i was again getting an error : cannot start/stop
database, access denied. Then I moved the .log and .mlg
files back and again made a connection. this time it
succeeded. Please let me know if anything else can be done
and where did I go wrong.

Deepali,
Quote:
Usually this is when you set the initial cache size (-c)
beyond the size of the process space. See my post here
for more details about this limitation:


http://groups.google.com/group/sybas...e3c4386591996d

What does your start-line look like? What operating system
are you on?

Regards,

Deepali wrote:
when i try to start ASA 7 database service, i get an
error : Not enough memory

--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :

http://www.sybase.com/developer/libr...ere-techcorner
iAnywhere Documentation :
http://www.ianywhere.com/developer/product_manuals SQL
Anywhere Patches and EBFs :

http://downloads.sybase.com/swd/summ...&timeframe =0
Report a Bug/Open a Case :
http://case-express.sybase.com/cx/

Reply With Quote
  #4  
Old   
Jeff Albion [Sybase iAnywhere]
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-14-2009 , 11:51 AM



Hi Deepali,

Deepali wrote:
Quote:
I am on Win 2000 virtual server with ASA7 installed.
Testing performance on a virtual server would not be my recommendation.
Remember that everything is "virtualized" - including lower-level I/O /
network activities. What virtualization product are you using? VMWare?
Are you using another operating system as a Host OS, or are you using a
dedicated server (ESX for instance), or...?

How is the VM configured - does it have a lot of RAM allocated to it? Is
that "virtual (swap) memory" or "real memory" in the host OS?

Quote:
I got the error when I was testing moving files for
increasing performance.I had moved the .log and .mlg files
to drive C: from E: which contains the .db file and for that
wizard I stopped the server service. then when i tried to
start the network database service, I got the error: Not
enough memory and service wasn't starting. Then I
The "Not enough memory" message should not have been the result of
simply a file copy. (Unless you're using a lot of virtual memory to do
everything, and if you moved the database on to the partition that holds
the swap file as well).

Quote:
uninstalled and reinstalled the database and recreated the
service. Then again when trying to register the database
with ODBC, i was again getting an error : cannot start/stop
database, access denied.
What were your ODBC settings for this test? Did you change the "database
file" settings to point to the new .db location? Did you use the "dblog"
utility to make sure the transaction log and mirror log were able to be
located by the database file? ("dblog database.db") ?

Regards,

--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :
http://www.sybase.com/developer/libr...ere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs :
http://downloads.sybase.com/swd/summ...&timeframe =0
Report a Bug/Open a Case : http://case-express.sybase.com/cx/

Reply With Quote
  #5  
Old   
Deepali
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-15-2009 , 06:42 AM



Hi Jeff, I am testing on Win 2000 SP4 512 MB RAM VMWare
machine as the production application is also on virtual
machine.It is ESX 3i machine. ESX is on linux and Win 2000
is installed as a client on which I have installed ASA7 and
Dolphin.2GB virtual memory has been assigned to the server.
The ODBC settings are uid: dba and pwd: sql , shared memory
protocol. I configured a connection in User DSN, connection
pooling disabled.
I used Change Log file Information wizard in ASA7 utilities.
So after this failed, I am unsure whether this will work on
production and thats why the last resort I am left with is
reloading the database. Not sure cache increment will offer
reasonable performance improvement or not as with 2 GB RAM
on production server, the cache size is 1.3 GB and 75 %
would make it to 1.5 GB only.

Reply With Quote
  #6  
Old   
Jeff Albion [Sybase iAnywhere]
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-15-2009 , 01:57 PM



Hi Deepali,

Deepali wrote:
Quote:
Hi Jeff, I am testing on Win 2000 SP4 512 MB RAM VMWare
machine as the production application is also on virtual
machine.It is ESX 3i machine. ESX is on linux and Win 2000
is installed as a client on which I have installed ASA7 and
Dolphin.2GB virtual memory has been assigned to the server.
Is there any way more "real" memory can be allocated to this system or
the system is moved off to a "real" system for testing? Virtual memory
(at the OS level) is expensive due to the increased I/O contention it
requires against the physical disk. (This is particularly true if you're
using virtual memory at the operating system to hold space for the
database cache, which will also get paged out to the temporary file by
the database engine on top of that behaviour, resulting in a "double
hit" of I/O performance).

Quote:
The ODBC settings are uid: dba and pwd: sql , shared memory
protocol. I configured a connection in User DSN, connection
pooling disabled.
If this is an OEM application, the default password should NOT be the
password on the database. This should immediately be changed
(particularly since this information is now public -- please avoid
posting passwords or other sensitive information to the public newsgroups).

Quote:
I used Change Log file Information wizard in ASA7 utilities.
So after this failed, I am unsure whether this will work on
production and thats why the last resort I am left with is
reloading the database. Not sure cache increment will offer
reasonable performance improvement or not as with 2 GB RAM
on production server, the cache size is 1.3 GB and 75 %
would make it to 1.5 GB only.
This will be roughly the maximum anyway since you're using 32-bit
software. However, even slight increases to the cache size can save on
the number of disk I/O read operations (which are expensive) so it's
important to allocate a sufficient amount of cache to the database server.

---

My overall feeling is that you need to do some work not just at the
high-level performance level "tweaks" (multi-threading level, cache,
etc)., but investigating what queries are being used by the "Dolphin"
application and if they're using the appropriate indexes, etc.

Regards,

--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :
http://www.sybase.com/developer/libr...ere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs :
http://downloads.sybase.com/swd/summ...&timeframe =0
Report a Bug/Open a Case : http://case-express.sybase.com/cx/

Reply With Quote
  #7  
Old   
Deepali
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-16-2009 , 04:15 AM



Thank You Jeff...

Reply With Quote
  #8  
Old   
Deepali
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-16-2009 , 08:56 AM



So Jeff.. to increase the cache size, will this be the
command I should execute in command prompt or Interactive
sql:

dbsrv7 -c 75%%

Reply With Quote
  #9  
Old   
Jeff Albion [Sybase iAnywhere]
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-16-2009 , 02:04 PM



Deepali,

"dbsrv7" is the database server executable, so this must be done on the
command line. Note that you should specify "P" to use percentages:

dbsrv7 -c 75P ...

Regards,

Deepali wrote:
Quote:
So Jeff.. to increase the cache size, will this be the
command I should execute in command prompt or Interactive
sql:

dbsrv7 -c 75%%
--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :
http://www.sybase.com/developer/libr...ere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs :
http://downloads.sybase.com/swd/summ...&timeframe =0
Report a Bug/Open a Case : http://case-express.sybase.com/cx/

Reply With Quote
  #10  
Old   
Deepali
 
Posts: n/a

Default Re: what to do when you get 'Not enough memory' error - 10-19-2009 , 06:11 AM



Thank You Jeff...

Please also let me know yo increase cache size, should I
only increase initial cache size or maximum cache size as
well...

Regards... Deepali

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.