"max memory" is the upper limit imposed to the total amount of memory ASE is allowed to allocate. When "allocate max shared memory" config parm is active, ASE allocates "max memory" at startup; in this case "max memory" is not only a limit but the real amount of memory used. The memory being used by ASE at a given moment can be queried by
sp_configure "total physical memory"
"total physical memory" is not a configurable parameter. It is a computed value that the DBA may query with the statement above.
I assume that if "max memory" is set to 2 GB it's because ASE is going to use an amount of memory close to that. Although physically possible (2 GB of virtual memory can be used out of 1 GB of physical, just 1 GB or more will never be live but paged out in the swap devices), it is not recommended that Sybase ASE or any other RDBMS is exposed to heavy paging. It is best to configure ASE's memory low enough as the OS won't have to page out some of her memory pages in order to provide memory for other processes (or for ASE itself)
So, my conclusion is no, don't assign 2 GB if the machine has only 1 GB of physical memory.
"total logical memory" and "total physical memory" are computed by ASE as the sum of all the memory chunks ASE is using: procedure cache, data caches, several metadata caches, etc.
"max memory" is the max limit imposed to "total logical memory". If the DBA uses sp_configure to change any config parameter having the effect of raising "total logical memory", ASE will check against "max memory" and will deny the change if exceeded.
I've been nowhere to understand the underlying behavior of internal memory of ASE since perf tuning guides are very technical and deeper to understand. I've been working on several ASE ver 12.5.3.
Thanks for your information again.
BTW. mind if i get your email add. for atleast somehow address some of my concerns regarding ASE.