Operating System - HP-UX
1834772 Members
3112 Online
110070 Solutions
New Discussion

Re: checking status of memory

 
SOLVED
Go to solution
Jeff Hagstrom
Regular Advisor

checking status of memory

Is there a way to check the status of the memory chips, each one. We have a RP7410 running hpux 11.00. We had an issue over the weekend were we couldn't bring up our databases with out lowering the memory allotments in our startup files. I want to check the memory and see if there is one or two that are not working to capacity. How much memory is in the machine and how much is being used?
3 REPLIES 3
Yogeeraj_1
Honored Contributor

Re: checking status of memory

hi,

try:
echo "selclass qualifier memory;info;wait;infolog" | /usr/sbin/cstm

and also:
http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1065602


kind regards
yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
Geoff Wild
Honored Contributor

Re: checking status of memory

Here's a c program called memdetail (it will compile with the native hpux compiler).

Output like:

# memdetail
Memory Stat total used avail %used
physical 40958.0 32207.8 8750.2 79%
active virtual 40575.1 19044.3 21530.9 47%
active real 23227.8 11364.7 11863.2 49%
memory swap 40958.0 17440.6 23517.4 43%
device swap 83964.0 39120.5 44843.5 47%

Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
Bill Hassell
Honored Contributor
Solution

Re: checking status of memory

This is not a memory issue with your hardware. You most likely are running old 32bit applications that are using shared memory and there are severe restrictions on how memory is mapped with these old programs. Each 32bit program has a maximum of 1000megs for local data, or if recompiled to use EXEC_MAGIC, the program can use up to 1700megs. For shared memory, similar restrictions also exist because there is only one map for all 32bit apps. If you are killing applications with kill -9, you have very likely fragmented the map with orphaned segments and now there is no empty space for more segments.

Unfortunately, out of memory almost never means that RAM is full. HP-UX is a virtual memory system and therefore your available memory can be much larger than RAM. Another reason for out of memory errors is that the application is asking for more memory than the kernel allows. There are 3 fences to prevent bad programs from consuming all of RAM: maxdsiz, maxtsiz and maxssiz. Of these, maxdsiz is the most common limit for local RAM for each program that can be exceeded. Set maxdsiz to at least 1700megs. Note that maxdsiz_64 must be larger than maxdsiz. If maxdsiz_64 does not exist in your system, you are running everything as 32bits. The other parameters seldom need changing.

Yet another reason for4 out of memory is in requesting shared memory segments. If the default map has become fragmented, you'll get this error. You can free up orphaned segments if you have intimate knowledge of your applications, or you can shutdown all the apps, and then use ipcrm to cleanup leftover segments.


Bill Hassell, sysadmin