| SUMMARY: | This TechNote lists the shared addressable memory limits by platform for Adaptive Server Enterprise 11.5.x and 11.9.2. |
| Document ID: | 20101 | Last Revised: | 09/28/99 |
| Topic: | Database Admin, Performance & Tuning | Document Type: | TechNote |
| Product: | Adaptive Server Enterprise | Version: | 11.5.x; 11.9.2 |
| Platform: | HP, PC, Sun, IBM RS/6000, Digital UNIX | Operating System: | AIX, UNIX, HP-UX, Linux, Solaris, Windows NT |
Maximum Shared Addressable Memory
aAchieving 2.75 GB on HP-UX 10.20
HP-UX 10.20 requires Hewlett-Packard patches PHKL_9076 and PHSS_15380 to achieve 2.75 GB of shared memory. Otherwise, the memory limit is 1.75 GB.
Note:
HP patch PHSS_15380 replaces patch PHSS_10926.
Tuning HP-UX 10.20
-
After applying the patches, set a bit in the executable, dataserver, by running the chatr command:
/usr/bin/chatr -M $SYBASE/bin/dataserver
-
Start the server and use sp_configure to set "total memory" in 2K units, up to 2.75 GB, based on the available physical memory on your system.
-
Certain operating system patches also may be necessary to get the extra 1GB. Contact Hewlett-Packard technical support, or access the HP Electronic Support Center, http://us-support.external.hp.com:80/wpsl/bin/doc.pl
For European customers, the URL is http://europe-support.external.hp.com/
Once the "dataserver" binary is "chatr -M"ed, it cannot be run on an earlier version of HP-UX.
Using HP-UX 10.20 and Monitor Server 11.0.2
If you are using SQL Server Monitor Server 11.0.2 to monitor server performance, you also need Sybase EBF 7871. You can download EBFs from http://support.sybase.com/fd_ess.html
Using HP-UX 10.20 and Monitor Server 11.5.1
If you are using Monitor Server 11.5.1 to monitor server performance, you cannot use more than 1.75 GB of addressable memory and you will receive the following connection error message upon start-up:
msgid 20074 os_attach_region: shmat(409); invalid argument, 20111 KB attach: couldn't attach to kernel region
This is a known problem, CR 170994.
Note:
Shared memory limits are different on some platforms with earlier releases. See TechNote 20239, Addressable Memory Limits for Sybase SQL Server 11.0.x.
bAchieving ~4096 GB on Digital UNIX
You must tune several Digital UNIX kernel parameters to achieve additional shared addressable memory. Otherwise, the default operating system parameters limit Adaptive Server to 1 GB.
Tuning Digital UNIX
-
Edit /etc/sysconfigtab to make shm-max equal 2 gigabytes minus 8192:
shm-max = 2147475456
-
Adaptive Server uses multiple memory segments, attaching them to the same virtual process space. Therefore you must reset these memory parameters to be greater than the total memory in the server:
-
Reboot the operating system for changes to kernel parameters to take effect.
-
Configure the server.
Example: Configuring a server to use 5 GB shared memory
Configure the server to use 5 GB of shared memory on Digital UNIX 4.0A (Rev. 464).
-
Determine the values of shm-max and other operating system parameters:
% grep shm-max /etc/sysconfigtab
shm-max = 2147475456
% grep vm-maxvas /etc/sysconfigtab
vm-maxvas = 200000000000
% grep per-proc-address-space /etc/sysconfigtab
per-proc-address-space = 200000000000 max-per-proc-address-space = 200000000000
The output shows that the operating system is configured for a 200 GB address space. -
Log into isql and re-configure the server, in 2K pages, to use 5 GB of shared memory from the operating system:
1> sp_configure "total memory", 2621440 2> go
-
Verify the server's total memory:
1> sp_configure "total memory" 2> go
Parameter Name Default Memory Used Config Value Run Value ------------------------------ ----------- ----------- ------------ ----------- total memory 13312 5242880 2621440 2621440
-
Verify the size of the shared memory segments.
% ipcs -b
... Shared Memory: T ID KEY MODE OWNER GROUP SEGSZ m 0 844348508 --rw-rw-rw- root system 648 m 8449 -1319305607 --rw------- mshields sybase2147475456 m 2 -1319305507 --rw------- mshields sybase2147475456 m 3 -1319306341 --rw------- mshields sybase1068343296 ...
cLinux (ASE 11.9.2 only)
The maximum shared addressable memory depends on which kernel and run-time library you are using as follows:
-
Linux 2.2.5 with glibc-2.07.29, the maximum addressable memory is 1.4 GB.
-
Linux 2.2.5 with changes to the header file /usr/include/asm/page.h (so that it is similar to the default in Linux 2.2.5–3) with glibc 2.1.1–6 or newer to achieve 1.9 GB.
-
Linux 2.2.5–3 with glibc 2.1.1–6 or newer to achieve 1.9 GB.

Back to Top