Skip to Content
0
Former Member
Apr 07, 2014 at 07:08 PM

how to increase ASE Max Memory on Linux?

1667 Views

I have a linux with ASE 12_5. On the machine, there 17G memory, 2G for ramdisk. Sybase max memory configued as 4000000(2K)=7.63G.

If reserve 1G for OS, then I think there are 17-2-1 = 14G available and I want to ASE can utilize this 14G memory.

What I did is:

1. Increase max shared memory(shmmax):

modify /etc/sysctl.conf to set shmmax = 14738890752 (this is roughly 13.72G)

run command:

echo "kernel.shmmax=14738890752" >> /etc/sysctl.conf

2. Reboot Linux with command reboot

3. Modify myserver.cfg to chang max memory for sybase:

max memory = 7196724

the start sybase ase, and I got error(see my ticket http://scn.sap.com/thread/3530977), but I can't start sybase. I try to increase max memory to different number for example 5000000, and not success. Only original 4000000 working.

Not sure why. I populate all info as below. How to resolve this problem?

[sybase@myserver ASE-12_5]$ free -g
total used free shared buffers cached
Mem: 17 7 9 0 0 7
-/+ buffers/cache: 0 17
Swap: 3 0 3


[sybase@myserver ASE-12_5]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 12G 2.6G 8.8G 23% /
/dev/sda1 251M 19M 220M 8% /boot
none 8.7G 0 8.7G 0% /dev/shm
/dev/sdb1 30G 8.4G 20G 30% /home
tmpfs 2.1G 20M 2.1G 1% /db/oe/tempdb

[sybase@myserver ASE-12_5]$ cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# kernel.shmmax = 10737418240
kernel.shmmax= 14738890752
kernel.shmmni = 4096
kernel.shmall = 2097152


[sybase@myserver ASE-12_5]$ cat /proc/sys/kernel/shmmax
14738890752


Sybase: max memory = 4000000

here is the output of sp_configure memory:

additional network memory 0 0 0 0 bytes dynamic

allocate max shared memory 0 0 1 1 switch dynamic

compression memory size 0 152 0 0 memory pages(2k) dynamic

engine memory log size 0 2 0 0 memory pages(2k) dynamic

heap memory per user 4096 0 4096 4096 bytes dynamic

lock shared memory 0 0 0 0 switch static

max memory 45056 8000000 4000000 4000000 memory pages(2k) dynamic

memory alignment boundary 2048 0 2048 2048 bytes static

memory per worker process 1024 66 4096 4096 bytes dynamic

messaging memory 400 0 400 400 memory pages(2k) dynamic

shared memory starting address 0 0 0 0 not applicable static

total logical memory 32768 7620028 3810014 3810074 memory pages(2k) read-only

total physical memory 0 8000000 0 4000000 memory pages(2k) read-only