Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
Operating System - Tru64 Unix
Showing results for 
Search instead for 
Did you mean: 

help on hard setting ulimit -m "max memory size (kbytes)"

Brian Stevens
Occasional Contributor

help on hard setting ulimit -m "max memory size (kbytes)"

As part of an Oracle installation on an Alpha DS10 running Tru64 5.1A PK2 I need to increase some process
limits via ulimit, specifically "max memory size (kbytes)"

can someone please tell me what is the "sysconfig proc subsystem"
counterpart of the max memory size (kbytes) shown by issuing the
command "ulimit -a" or "ulimit -m" command. I want to set this as a hard limit
in proc subsystem (I assume this is where I make the change) and don't know
which parameter to change ! Is it a combination of parameters ?
It's probably straightforward but I can't find out where to do this in the Tru64 doco !!

(using bash shell)

oracle@aran /opt/oracle/product >ulimit -H -m

oracle@aran /opt/oracle/product >ulimit -S -m

I want to increase it to say 2045680

oracle@aran /opt/oracle/product >ulimit -m 2045680
bash: ulimit: cannot modify limit: Not owner

Logged in as root I can seem to do this by issuing

bash-2.05# ulimit -m 2045680

but it doesn't actually seem to change !

bash-2.05# ulimit -m

Results from sysconfig command:

bash-2.05# sysconfig -q proc
max_proc_per_user = 256
max_threads_per_user = 1024
per_proc_stack_size = 33554432
max_per_proc_stack_size = 33554432
per_proc_data_size = 536870912
max_per_proc_data_size = 1073741824
max_per_proc_address_space = 4294967296
per_proc_address_space = 4294967296
executable_stack = 0
autonice = 0
autonice_time = 600
autonice_penalty = 4
open_max_soft = 4096
open_max_hard = 4096
ncallout_alloc_size = 8192
round_robin_switch_rate = 0
sched_min_idle = 0
give_boost = 1
maxusers = 1024
num_wait_queues = 1024
num_timeout_hash_queues = 1024
enhanced_core_name = 0
enhanced_core_max_versions = 16
exec_disable_arg_limit = 0
dump_cores = 1
dump_setugid_cores = 0

Any help appreciated, as I'm getting frustrated !

Martin Moore

Re: help on hard setting ulimit -m "max memory size (kbytes)"

The memory limit specified by "ulimit -m" limits the amount of resident *physical* memory that a process can have at one time. As such, it's limited to the amount of physical memory in the system. (Actually, it's a bit lower, since some memory is wired for the kernel itself.)

There is no corresponding sysconfig parameter. You can set a lower limit, but not a higher one. (It's pretty hard to use more physical memory than actually exists in the system. :)

From your settings above, I'd bet that you have 1 GB of physical memory in that system.

If you need to set the *virtual* memory (vmemory) limit, this is set with "ulimit -v". The soft and hard limits are set from proc parameters per-proc-address-space and max-per-proc-address-space, respectively.

Martin Moore
Tru64 UNIX Support
HP Services
I work for HP
A quick resolution to technical issues for your HP Enterprise products is just a click away HP Support Center Knowledge-base
See Self Help Post for more details

Vijayasekar Rajsekar
Frequent Advisor

Re: help on hard setting ulimit -m "max memory size (kbytes)"

Try increasing the parameter and reboot the system

per_proc_data_size = 900000000
Ralf Puchner
Honored Contributor

Re: help on hard setting ulimit -m "max memory size (kbytes)"

This question was already answered in a previous thread. Please check prior to posting.
Help() { FirstReadManual(urgently); Go_to_it;; }