4GB is the memory limit on 32-bit Solaris, IIRC. Just like it is 2GB on 32-bit linux. Try building everything 64-bit.
I'll give a check.
Another thing to try, from when I ran my servers on Solaris, is to fix the limits in /etc/system for the maximum amount of memory that can be allocated. I vaguely recall having to do this for my Solaris systems.
uhm, maybe you referred "data seg size" ? now, is set to "unlimited"
now I'm trying with ulimit -d 1024000, but now slapd have reached 1106MB
Oh, and with BDB on Solaris, you want to use the "shm_key" flag in slapd.conf to use shared memory segments, when running on SPARC. Here's the last portions of /etc/system on my old Solaris LDAP servers:
- turn off executable stacks
set noexec_user_stack = 1 set noexec_user_stack_log = 1
- increase the size of the kernel stack to 24k for Solaris 8/64-bit
set rpcmod:svc_default_stksize=0x6000 set lwp_default_stksize=0x6000
- force load the shared module kernel information.
forceload: sys/shmsys
- allow shared memory segments of up to 3 GB (default 1MB)
- See http://www.sun.com/sun-on-net/itworld/UIR960101perf.html
set shmsys:shminfo_shmmax=3221225472
- Increase memory performance when filesystem is being heavily used.
- See http://www.sun.com/sun-on-net/performance/priority_paging.html
set priority_paging=1
- Increase memory performance when filesystem is being heavily used.
- See http://www.samag.com/documents/s=1323/sam0110e/0110e.htm
set maxpgio=25468 set slowscan=500
- autoup influences how much RAM is checked by fsflush every 5
seconds.
- Default = 30. Increase autoup to decrease mem management overhead.
- See http://docs.sun.com/db/doc/806-7009/6jftnqsin?a=view
set autoup = 60
- Up tcp conn hash size. Defaults to 256.
- See http://www.deny-all.com/en/solsecu/tech/tuning.html
set tcp:tcp_conn_hash_size = 16384
- Up file descriptor limit. Defaults to 1024.
set rlim_fd_max = 16384
This is mine:
set shmsys:shminfo_shmmax=2147483648 set shmsys:shminfo_shmmin=100 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=100 set semsys:seminfo_semmap=64 set semsys:seminfo_semmni=4096 set semsys:seminfo_semmns=4096 set semsys:seminfo_semmnu=4096 set semsys:seminfo_semume=64 set semsys:seminfo_semmsl=100
Thx for details, I will cross check if I miss somethings
Paolo Rossi