Server memory

Sybase IQ allocates heap memory for buffers, transactions, databases, and servers. Shared memory may also be used, but in much smaller quantities.

At the operating system level, Sybase IQ server memory consists of heap memory. For the most part, you do not need to be concerned with whether memory used by Sybase IQ is heap memory or shared memory. All memory allocation is handled automatically. However, you may need to make sure that your operating system kernel is correctly configured to use shared memory before you run Sybase IQ. See the Installation and Configuration Guide for your platform for details.

Managing memory for multiplexes

Each server in the multiplex can be on its own host or share a host with other servers. Two or more servers on the same system consume no more CPU time than would a single combined server handling the same workload, but separate servers might need more physical memory than a single combined server, because the memory used by each server is not shared by any other server.

Memory for loads, inserts, updates, synchronizations, and deletions

Sybase IQ uses buffer cache memory for most load operations. However, there are some types of loads that can may still use significant heap memory. To avoid overallocating the physical memory on the machine, you can set the LOAD_MEMORY_MB database option for operations where loads occur. This is particularly important if the table has columns with wide datatypes. In addition to LOAD operations, this option affects INSERT, UPDATE, SYNCHRONIZE and DELETE operations. The LOAD_MEMORY_MB option sets an upper bound (in MB) on the amount of heap memory subsequent loads can use. For information on loads and buffer cache use, see “Memory requirements for loads”. For details of the LOAD_MEMORY_MB option, see Chapter 2, “Database Options,” in Reference: Statements and Options.

Killing processes affects shared memory

WARNING! Killing processes on UNIX systems may result in semaphores or shared memory being left behind instead of being cleaned up automatically. The correct way to shut down a Sybase IQ server on UNIX is the stop_iq utility, described in “Stopping the database server” in Chapter 2, “Running Sybase IQ,” System Administration Guide: Volume 1. For information on using the ipcs and ipcrm to clean up after an abnormal exit, see Chapter 14, “Troubleshooting Hints” in System Administration Guide: Volume 1.