Operating System - HP-UX
1833776 Members
1950 Online
110063 Solutions
New Discussion

Itanium 11.23 kernel parameter question

 
SOLVED
Go to solution
Nyck_1
Super Advisor

Itanium 11.23 kernel parameter question

I have a user who is running a process which when it reaches 1GB in size crashes. Is there a kernel parameter I can increase to resolve this issue?
5 REPLIES 5
Patrick Wallek
Honored Contributor
Solution

Re: Itanium 11.23 kernel parameter question

There are several that could effect this.

You should probably check the max*siz and max*siz_64bit parameters.

The one that I would guess is causing your problem is maxdsiz or maxdsiz_64bit, depending on the 'bitness' (32 or 64) of the program.

James R. Ferguson
Acclaimed Contributor

Re: Itanium 11.23 kernel parameter question

Hi Nick:

It would be helpful if you would report the standard 'errno' value. Something like ENOMEM (#12) would point to 'maxdsiz_64bit' for a 64-bit process or 'maxdsiz' for a 32-bit process.

Regards!

...JRF...
Don Morris_1
Honored Contributor

Re: Itanium 11.23 kernel parameter question

Keep in mind that maxdsiz may not solve the issue by itself.

It certainly sounds from your description that this is a 32-bit process which is running out of private data space (you should run out before 1Gb, how soon before depends on the value of maxssiz [since the Stack is prereserved from the same space] and any private mmap()'s). The default process layout puts data in a separate quadrant from Text, so you may need to use chatr or recompile the binary to push beyond 1Gb (you need to be EXEC_MAGIC to go to 2Gb or use chatr +q3p) See:
http://docs.hp.com/en/B2355-90968/compileandlink.htm#LINKINGPROGRAMSONHPUX
and the chatr documentation.

Keep in mind maxdsiz is dynamic on 11.23, so you can raise it as you will -- it will only affect newly executed programs where you have not used the shell ulimit or the C setrlimit() interfaces for RLIMIT_DATA. Also make sure maxdsiz_64bit is raised to be greater than maxdsiz (otherwise on reboot you'll always get the more restrictive 64-bit limits since the parent of all shells/processes is a 64-bit process and all children will inherit its lower limits).
Nyck_1
Super Advisor

Re: Itanium 11.23 kernel parameter question

The error message he is getting is as follows:-

layout_pool.cpp 349) Expression (gen__bill_invoice_detail__amount+gen__bill_invoice_detail__dis
count+gen__bill_invoice_detail__tax)*Fix(EXCHGRATE(gen__cmf__currency_code,ext__gen__cmf_ext_da
ta__1056)/10^gen__rate_currency__rc_implied_decimal,2,0) is not valid
20071205 17:00:23.185 (I 0000000) [0][0][001] EMIT_BYPASS (IGEN igen_init.cpp 363) Fat
al error: may be out of memory space. IGEN terminates.

I have checked the memory/swap and its hardly being used.

The two kernel parameters that you mention are set as follows:-

maxdsiz 1073741824
maxdsiz_64bit 4294967296

These are 1MB & 4MB, would you suggest setting them higher?
Dennis Handly
Acclaimed Contributor

Re: Itanium 11.23 kernel parameter question

maxdsiz 1073741824
maxdsiz_64bit 4294967296
>These are 1MB & 4MB, would you suggest setting them higher?

(You mean 1 and 4 Gb.)
You can set them higher but a 32 bit app will not be able to use more than 1 Gb by default without relinking.

You may be able to use chatr +q3p as Don suggests and have it use 2 Gb.