Operating System - HP-UX
1832921 Members
3028 Online
110048 Solutions
New Discussion

Re: Shared Memory Question.

 
SOLVED
Go to solution
Charles Harris
Super Advisor

Shared Memory Question.

Dear all,

Due to a recent informix upgrade (7.31ud3) are shared memory requirements on a server have increase dramatically. The server is equiped with only 2 gig of physical mem and 7gig of available swap. The informix installation recommended shmax setting is 1gig. I am worried about the possible implications on the servers performance and reliability, as the previous configuration was only half of this. Could anyone give their advice or knowledge from previous experience, I know this is a bit of a 'ball park' question, but any comments / pointers would be greatly appreciated!!!

Best Regards,


-ChaZ-
6 REPLIES 6
Mark Greene_1
Honored Contributor

Re: Shared Memory Question.

What does informix recommend as the minimum amount of memory per user, and how is that number broken down regarding shared memory? For example, they might say that you can expect a minimum memory consumption of 250k per user plus 250k shared memory per user just to login to the db.

You can then extrapolate your total memory requirements by multiplying the above by the average number of users on your system.

HTH
mark
the future will be a lot like now, only later
harry d brown jr
Honored Contributor

Re: Shared Memory Question.

Charles,

How much memory was inuse on the older informix? Or for that matter, for the entire machine? If it was less than 2GB, like say 1.5GB or less, then it shouldn't be much of an issue. Maybe more memory is in the equation?


live free or die
harry
Live Free or Die
S.K. Chan
Honored Contributor

Re: Shared Memory Question.

Informix "typically" does not need more than 1GB per shared memory segment, thus the recommendation of 1GB for shmmax. You have plenty of swap (ie 7GB) so I think setting shmmax to 1GB should not have any "significant" impact on your server performance.
Bill Hassell
Honored Contributor
Solution

Re: Shared Memory Question.

Typical database programs today need several gigabytes of RAM to have reasonable performance. 2Gb RAM is way too small for a large database and/or large user base. Now HP-UX does use virtual memory which means (in your case) that you could run applications that need up to 7 Gb of RAM since the swap area is large enough to hold that much data.

However, performance would be awful. A simple query might take 2-5 minutes to complete because so many processes and data areas have to be swapped in and out to complete the task.

Now installing another 2 Gb is not going to help much if you are running 10.20, or 11.0 at 32bit. Similarly, if Informix is only a 32bit application, shared memory is severely constrained. Yes, theoretically you can link Informix so that it could address up to 1.75 Gb of shared memory, but the key word here is 'shared'. For all 32bit applications running on the system at the same time, the same addressing space is used for everyone. This means shared libraries, memory mapped files, shared memory segments, etc.

So depending on the order of startup for your database programs and tools, that 1.75 has no more than 500 megs of contiguous RAM available. If Informix is smart enough to request smaller chunks, the total might add up to 6 chunks of 200 megs or 1.2 Gb but that is application dependent.

The solution is to use a 64bit operating system (11.0 at 64bits) and setup memory windows so Informix will have a 'clean' address space for up to 1.75 Gb of RAM. Be sure to read the white papers about memory and process management in /usr/share/doc. Also look at the memory windows white paper in the same directory.

To see how bad shared memory is fragmented, get a copy of shminfo from:

ftp://contrib:9unsupp8@hprc.external.hp.com/sysadmin/programs/shminfo/


Bill Hassell, sysadmin
Krishna Prasad
Trusted Contributor

Re: Shared Memory Question.

What OS version are you running?
Is your informix version 32bit or 64bit?

You will have problems needing 1GB of memory for Informix if either the OS or Informix is 32bit.
Positive Results requires Positive Thinking
Charles Harris
Super Advisor

Re: Shared Memory Question.

Dear all,

Thanks for the analysis and your comments, the bottom line here is making sure the server actually comes back up after the change. The informix instance on the server isn't particularly large and the sever was running full (user) loaded on just 1 gig of physical memory previously (different version of informix) without any performance problems. I take the point about the 32 verses 64 bit architecture, but unfortunately this is not something I have any control over. The server is currently configured with HPUX 10.20 and is running a 32bit version of informix (always has) so I'm suck there unfortunately.

I guess the big question is how will it perform after the upgrade ?! - Checkpoint times of over 2min (via the swap) would be fatal, but we going to have to suck it and see. The saw is located on 'relatively' high performance EMC arrays which might help a little too. The desicison has been made for the go-ahead later on tonigh, so I update with the results if I'm still employed ;-) !!!

Thanks again for your wealth of reply's, I'll start dishing the points......!

Cheers,


-ChaZ-