[HPADM] SUMMARY Kernel parameter names and suggested values

From: Thomas Northup (thomaslnorthup@yahoo.com)
Date: Tue Feb 10 2004 - 21:21:16 EST


Thanks for all the replys here was the original question.I made the changes through SAM and all is well.

Admins,

We have an application that is using a lot of memory. The system is an RP5470 running HP-UX 11.0

I called application support and they emailed me back a list of their suggested kernel parameters.

Here is the email…

--------------------------------------------------------------

Dear Customer,

The following lists the parameter names and suggested values for these

parameters.

Name Suggested Value

nproc 532

max_thread_proc 256

maxfiles 4096

maxfiles_lim 4096

maxuprc 512

nfile 4096

nflocks 2048

ninode 2048

semmap 258

semmni 256

semmns 1024

semmnu 512

semume 256

maxDsiz Real + Virtual Memory

maxTsiz Real + Virtual Memory

maxSsiz 12% of (Real + Virtual Memory)

Resetting the values of these parameters requires a rebuild of HP-UX and a

system reboot. This takes the system off line for a short period of time.

Warn all users to log off first!

Regards,

Support

--------------------------------------------------------------------------

So I am going to go ahead and make all these changes….

For most of them I can just put in the number, but when I get to maxDsiz, maxTsiz, and maxSsiz I think I will have to put in their hex value???

Can I use a formula here? If yes what would it be?

We have 2GB of RAM and a swap partition of 2GB. So they are saying to use 4GB for the first two and 12% of 4GB for the last one. Does this exceed the max allowed???

In hex 4GB is EE6B2800 so would it be entered 0xEE6B2800??? What is the 0x for???

TIA and I summarize.

Tom

---Replys-----Actually 4GB = 4 * 1024 * 1024 * 1024 = 4,294,967,296 = 0x100000000The number you gave 0xEE6B2800 is actually 4,000,000,000 = 4 billion. In computers the multiplier is 1024 not 1000. This is a very common mistake.Thank you,Dave JohnsonUNIX Administrator

 

Thomas: We try NOT to swap. We buy BIG memories, 12 GB, and set swap to 12 GB or sometimes 18 GB if we have to. Are you running 32 bit or 64 bit applications? If 64-bit, then you set maxdsiz_64bit, (and maxdsiz), etc..

We run 32-bit applications, but are moving to 64-bit applications.

Also, check your ulimit command. ulimit limits an applications data size, text size and segment size (maxdsiz, maxtsiz and maxssiz).

Here is what we run, for 11.11. (We run the "Proposed" column. This is from the proposal to increase the kernel parameters.:

Parameter Minimum Maximum Default Current Proposed Dynamic
maxdsiz 0x40000 0xfffff000 0x1000000 350000000
maxdsiz 262144 4294963200 16777216 350000000 1 GB
maxdsiz_64bit 0x40000 0x3ffbfffffff 0x40000000 0x40000000
maxdsiz_64bit 262144 4396972769279 1073741824 1073741824 2 GB
maxssiz 0x4000 0x17f00000 0x800000 12582912 200 000 000
maxssiz 16384 401604608 8388608 12582912 200 000 000
maxssiz_64bit 0x4000 1073741824 0x800000 12582912
maxssiz_64bit 16384 1073741824 8388608 12582912 1 GB
maxtsiz 262144 1073741824 0x4000000 0x4000000 1 GB
maxtsiz 262144 1073741824 67108864 67108864 1 GB
maxtsiz_64bit 262144 4398046507008 0x4000000 0x4000000 Yes
maxtsiz_64bit 262144 4398046507008 67108864 67108864 1 GB Yes

We had some trouble in 32-bit mode because the ulimit command assumes the lower of 32-bit or 64-bit values, which messed us up until we figured it out. So we set them equal on 32-bit application systems.

Stuart

 

 

Hi Thomas,

The 0x is to differentiate hex and decimal numbers. For example, 1111 is a valid decimal number, but it is also a valid hex number, hex numbers don't necessarily have letters in them, so to indicate it is a hex number a 0x is put before it.

I don't know whether there is a formula you can use, I'd guess not but am not sure.

Hope that helps,

Kevin.

 

 

Tom, > So I am going to go ahead and make all these changes. > For most of them I can just put in the number, but when I get to > maxDsiz, maxTsiz, and maxSsiz I think I will have to put in their hex value??? Not necessary. Decimal is fine. > Can I use a formula here? If yes what would it be? Formulas are fine. What it is depends on circumstances. > We have 2GB of RAM and a swap partition of 2GB. So they are saying to use 4GB > for the first two and 12% of 4GB for the last one. Does this exceed the max allowed??? Probably, but not for that reason. All three of these place limits on individual (32-bit) process address space, not global memory. Before you set them, I'd strongly recommend consulting the "HP-UX Kernel Tuning and Performance Guide." Go to http://docs.hp.com, and select the HP-UX 11.00 section. Scroll down to the "System Administration" section, and you'll find it there, toward the bottom. And if you want to see what the limits really are, you can grep for them. F!
 or
 maxdsiz, for instance: # grep maxdsiz /usr/conf/master.d/* That will give you max, min, default and any related parameter. > In hex 4GB is EE6B2800 so would it be entered 0xEE6B2800??? What is the 0x for??? In hex, 4 Gb is 0x100000000. That's beyond the limit of any of these parameters. You could use a formula, if you prefer. Maxssiz, for example, has a CPU hardware limit of 80 Mb, so there's nothing gained by using any larger value. You could use (80 * 1024 * 1024), if you like. The value will be resolved during kernel generation. The "0x" prefix just indicates that the value which follows is hex. If not there, it will be processed as decimal. Best of luck! - Martin

 

Hi,
maxDsiz Real + Virtual MemorymaxTsiz Real + Virtual MemorymaxSsiz 12% of (Real + Virtual Memory)--------------------------------------------------------------------------So I am going to go ahead and make all these changes....For most of them I can just put in the number, but when I get to maxDsiz, maxTsiz, and maxSsiz I think I will have to put in their hex value??? No, you can put in decimal, hex or octal numbers. SAM will decode hex and octal into
decimal at the bottom righthand side of the window. Can I use a formula here? If yes what would it be? The formula values are seldom right so just put in numbers. We have 2GB of RAM and a swap partition of 2GB. So they are saying to use 4GB for the first two and 12% of 4GB for the last one. Does this exceed the max allowed??? maxdsiz can be set to 1750 megs for 32bit apps but your application will probably not be able
to address more than 950megs. The reasons are complex programming issues but your vendor
should be able to explain the details. If not, find another vendor.maxdsiz, maxtsiz and maxssiz are simple fences. They act as a limit for bad programs that
runaway and consume too much memory. maxdsiz cannot be set to 4Gb since 32bit programs
cannot address that much memory. SAM won't acceot any values large than about 2Gb. The
*only* max-size parameter that needs to set is maxdsiz. I would set it to 1750megs. maxssiz
is for stacks and any program that uses more than a few megs in the stack needs rewriting.
maxtsiz has NOTHING to do with how much memory you have. It is the limit for the size of
the program's instructions. A program with 100,000 lines of code needs just a few megs.
Making maxtsiz 500megs is not meaningful. It doesn't hurt anything but it doesn't do anything
either. It only needs to be slightly larger than the largest program (and 8megs is a REALLY
big program).In hex 4GB is EE6B2800 so would it be entered 0xEE6B2800??? What is the 0x for??? For the last 3 dozen years, hex numbers have always been written with 0x to
designate the number as being in hex format. SAM will convert the number into
decimal and then report that 4000000000 is larger than 2063835136 which about
2Gb where k=1024, meg=1024x1024 and Gb=1024x1024x1024.So you can set maxdsiz to 1750000000 and forget maxssiz and maxtsiz.Bill
 

Tom, This is one of the few occasions I would recommend using SAM. Once in there, you'll find that many of the "values" that you see are really formulas anyway. I had to do some Oracle updates to a similar config a while back and found this out. You may also find that some of the client numbers won't work since a formula will be (X*2+16) and they tell you to use some number that is less than X to begin with. It won't build the kernel unless some of it's math rules are followed. Jeff

 

0x simply means that the digits that follow are in hexidecimal. You can enter decimal numbers for kernel parms if you omit the leading 0x in SAM.

---------------------------------
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online

--
             ---> Please post QUESTIONS and SUMMARIES only!! <---
        To subscribe/unsubscribe to this list, contact majordomo@dutchworks.nl
       Name: hpux-admin@dutchworks.nl     Owner: owner-hpux-admin@dutchworks.nl
 
 Archives:  ftp.dutchworks.nl:/pub/digests/hpux-admin       (FTP, browse only)
            http://www.dutchworks.nl/htbin/hpsysadmin   (Web, browse & search)


This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 11:02:38 EDT