On a diskless machine, the maximum size is limited by the physical memory available because there is no disk to use as swap space for virtual memory.
Note The amount of memory available to the solidDB server is less than the total physical memory, since the operating system also uses some of the physical memory.
For example, in some versions of Linux 32-bit systems, the amount of memory available to applications is limited to one half or one quarter of the theoretical address space (4 GB) because Linux reserves the 1 or 2 most significant bits of the address for its own memory manager.
You can estimate the total memory used by the diskless server by using the following formula. For guidance on calculating the cache size, see Cache size in diskless servers.
CacheSize + 5MB + 100K * number of users * number of active statements per user) + in-memory table space + (HSB operations to be sent to the secondary server) [1]
[1] This term of the equation applies to HotStandby (HSB) servers only. An HSB primary server needs some memory to store HSB operations that are to be sent to the secondary server. During a temporary network failure between the primary server and the secondary diskless server, the primary server can continue to accept transactions from an application. When the network connection is restored between the servers, updates from the primary server are sent to the secondary server. (HSB uses the transaction log to store these operations. A diskless server cannot write the transaction log to disk; the information must be stored in memory.) This memory is separate from the cache. The maximum limit is currently 1 MB or 512 operations, whichever is lower. Unlike on a disk-based server, the transaction log cannot keep growing until it uses up all available space.
The exact amount of memory required also depends on other factors, including the nature of the queries executed against the server.
If the data in memory exceeds the maximum file size, the error message 11003 is displayed:
11003,System,Fatal Error,File write failed, configuration exceeded. Writing to the database file failed because the maximum database file size set with IndexFile.FileSpec parameter has been exceeded. Increase the maximum file size limit or divide the database into multiple files.