Operating System - Tru64 Unix
1752714 Members
5914 Online
108789 Solutions
New Discussion юеВ

Re: 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
1014584

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

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
bash-2.05#

but it doesn't actually seem to change !

bash-2.05# ulimit -m
1014584

Results from sysconfig command:

bash-2.05# sysconfig -q proc
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 !


3 REPLIES 3
Martin Moore
HPE Pro

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.

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

Accept or Kudo

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;; }