too much memory ?

Posted by Admin on 17-Jun-2011 08:44

hi,

i recently got a new job and in this company we got a progress SQL.. this was  new to me until some googling...

anyway the problem is that _sqlsrv2.exe process is repeated about 50 times using large amounts of memory...

the server got 14gb ram and it is almost all used... only 6 users work on this db (some custom made software) and replication.

I don't got this kind of behavior on my msSQL machines even whit more users...

version 10.2A ?

pic.png

All Replies

Posted by Thomas Mercer-Hursh on 17-Jun-2011 11:29

Details about platform and how you are measuring memory should be included.  People very often make mistakes about the amount of memory being used because the Progress server will allocate a large amount of shared memory according to its startup parameters in order to provide efficient caching.  Because it is shared, this memory is within the address space of all self-service clients and secondary brokers which thus appear as if they are consuming huge amounts of memory per process, but in fact there is only one copy of most of that.

Posted by Admin on 17-Jun-2011 11:35

tanks for the awnser

it is probably shared... but why it creats a lot of processes ? that way i need to check process one by one to check out if it is shared...

tanks

ps: where can i check startup configuration to see memory config for the server ?

Posted by Thomas Mercer-Hursh on 18-Jun-2011 11:08

The most reliable guide to server startup parameters is the database log.  The first 50 lines or so after a startup give the parameters.

Posted by Admin on 20-Jun-2011 09:56

can you pls tell me where is it located ?

tanks

Posted by Thomas Mercer-Hursh on 20-Jun-2011 11:08

The .lg file where your database is located.

Posted by Admin on 20-Jun-2011 11:26

sorry for the question but i can't find anything....

i have a oe10 folder and lots of folders and files inside but no .lg file....

Posted by Thomas Mercer-Hursh on 20-Jun-2011 12:02

Got a .db file?  That is the base of the database.  .lg will be in the same place.

Posted by gus on 21-Jun-2011 08:37

I notice that you have Cache WS at 12 160 580 K. That means most of your system's memory is being used by the Windows filesystem cache.

Are you using the OpenEdge Explorer tool to start and stop the database? In its interface you should be able to see where the database files are. As Thomas pointed out, you can find the database message log file there alongside the main database file.

Posted by Admin on 21-Jun-2011 09:13

i m8 tanks for replying is that normal on windows server ? usage of that cache ? 12 gb ? i am new using windows servers... can u point me in rigth directions ?

Posted by Thomas Mercer-Hursh on 21-Jun-2011 11:33

Modern operating systems, even Windows, grab any left over memory to use as file system cache.  If it isn't needed for anything else, why not?  Use it for something else, like -B, and the number will go down.

Posted by jankeir on 22-Jun-2011 01:48

You are using sysinternals process explorer. That has the answer to your question. Double click the process to get it's properties. In the Image tab you will see the commandline that started the process. That should either tell you the location of the database, or a properties file that contains the location.

Posted by gus on 22-Jun-2011 08:57

The filesystem cache size is a function of Windows behaviour and is normal. Should have mentioned that.

The large number of server processes for a handful of users indicates that the database configuration parameters need adjustment. There are parameters to limit the number of server processes (-Mn parameter), max clients per server (-Ma parameter), min clients per server (-Mi parameter). These are all described in the OpenEdge Data Management: Database Administration manual. You should also take a look at the OpenEdge Data Management: Database Essentials book which has lots of good information for newbies.

This thread is closed