1753415 Members
7168 Online
108793 Solutions
New Discussion юеВ

TRU64 V4.0F

 
SOLVED
Go to solution
Alice Daniel
Frequent Advisor

TRU64 V4.0F

We are running tru64 version 4.0f (upgrading to 5.1b later this year). We have 35G hard drives with swap1 alloc 10G and swap2 using 3G. Available memory is 994M. When we try to process files that require a malloc of anything more than 124M, we get a message indicating "not enough space". The following kernel params have been updated:
max_users from 256 to 512
vm-page_free_target from 256 to 512

attached is a snapshot of virtual memory info from the "sys_check" cmd.

Any idea how we can gain access of the available memory? tunable params?
5 REPLIES 5
Ralf Puchner
Honored Contributor

Re: TRU64 V4.0F

1. in version 4.x systems please lower the value of ubc-maxpercent from 100% to e.g. 10-20%.

2. a hint could be the /sbin/swapdefaults file to change swapping mode. Maybe the program requests more swapspace (reserved space) than totally available (e.g. java applications). Remove the link and reboot.

3. be sure the program is not buggy, maybe a coding problem leads to memory allocations greater than 124M. Use the "trace" utility to verify program execution during runtime.
Help() { FirstReadManual(urgently); Go_to_it;; }
Alice Daniel
Frequent Advisor

Re: TRU64 V4.0F

tried ubc_maxpercent at 10, same problem
remove link to swapdefault file, same problem (my exec task core dumps at this point)
Now trying ubc_maxpercent at 20.

Where is doc to describe kernel tunable params?
Hein van den Heuvel
Honored Contributor
Solution

Re: TRU64 V4.0F

You are lookign in the wrong direction.
You are not running into a system limit but a process limit.

Check ulimit -a
What does it give for 'data'? 131072 kb?
That's your 124*1024 give or take some program code space and such.

Now you could try ulimit -d 500000.
Can you allocate more?

You also need to check/set: sysconfig -q proc
Specifically per_proc_data_size
This is where that 131072 kb comes from.
But look around for other params there!
For example, clear exec_disable_arg_limit

hth,
Hein.

ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 131072
stack(kbytes) 8192
memory(kbytes) 4068040
coredump(blocks) unlimited
nofiles(descriptors) 4096
vmemory(kbytes) 4194304
root at kelrin> bc
124*1024*1024
130023424

> sysconfig -q proc
proc:
max_proc_per_user = 256
max_threads_per_user = 1024
per_proc_stack_size = 8388608
max_per_proc_stack_size = 33554432
per_proc_data_size = 134217728
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 = 2048
num_wait_queues = 2048
num_timeout_hash_queues = 2048
enhanced_core_name = 0
enhanced_core_max_versions = 16
exec_disable_arg_limit = 0
dump_cores = 1
dump_setugid_cores = 0



Ralf Puchner
Honored Contributor

Re: TRU64 V4.0F

try to start the program with root permission. If it will run then raise the "limits" parameters within the kernel.

Use the advanced search within the forum for "limits" and you will get a detailed description of the parameters which must be changed...
Help() { FirstReadManual(urgently); Go_to_it;; }
Alice Daniel
Frequent Advisor

Re: TRU64 V4.0F

Thanks! The ulimit cmd seems to be the fix. I am currently implemeting the call into my program. Again thanks to all