Hidden Value – May 2004

 

Q: We have a 969 and 997, both on MPE/iX 6.5. What is the maximum amount of memory supported?

 

A: Mike Hornsby replied:

 

3.75GB and 16GB, respectively. See http://www.beechglen.com/mpe/technotes/maxmem65.html or http://docs.hp.com/mpeix/pdf/30216-90322.pdf, page 52 for a more complete answer. [Editor's note only the later 9x9 systems and 997 systems among the pre-A/N-class systems support more than 3.75GB, up to 16 GB.]

 

 

Q: We had a disc crash the other day - needed to do an INSTALL and full restore. Everything is back to normal except for our posix shell. We cannot FTP into the HP3000. Also, when I run SH.HPBIN.SYS, the 'cd' command works but not any other command like 'ls' or 'pwd'.

 

A: Gilles Schipper replied:

 

Chances are the "full restore" was not done properly. You should be able to get back your posix environment by restoring from your full backup, as follows:

 

:hello manager.sys:

:file t;dev=tape

:restore *t;/ - @.@.@;show=offline;create;olddate;partdb;keep

 

This presumes the problem was with the original full restore. There would be a different solution if the posix environment never made it on the backup to begin with. That would involve retrieving the original FOS tape and going from there.

 

 

Q: Is it possible to copy information off a CD-ROM to the HP 3000?

 

A: Lars Appel replied:

 

With plain MPE/iX, you cannot. But there is a utility called CDCOPY, which can be downloaded from Jazz, which can be used to copy selected files or directory trees from a CD to the MPE/iX file system. See http://jazz.external.hp.com/src/ and scroll down to CDCOPY. You might need to mount the CD using the AVRSCSI.INSTALL.SYS "MOUNT nn" utility (with nn being the LDEV number of your CD drive) before using CDCOPY on it.

 

 

Q: Is there are procedure to convert an SL to an XL?

 

A: Jeff Kell and Gavin Scott replied:

 

You can OCTCOMP an SL, which will make the code in it run in mostly-native mode (though using several times the memory) and with exactly the same limitations as the original CM code. OCTCOMP just adds a pre-translated version of the CM code to the end of the file that will be invoked when you run the program or SL on an MPE/iX system.

 

 

Q: We seem to have a program that is locking a dataset and never unlocks it. Other programs start to hang when they go to use that dataset until every user on the system is hung and the user license maxes out. So far, we've been forced to reboot the system, is there a simpler way to force a dataset to unlock?

 

A: Several people suggested UNDEDLOK.PRVXL.TELESUP, but Tome Emerson gave a better explanation:

 

Usually the first thing to try is :ABORTing the program. When the database is closed, it implicitly unlocks the datasets. If it is in a state where you cannot abort it, such as trying to obtain a second [unconditional] lock, then you are getting into a "deadly embrace" situation. This is where UNDEDLOCK that others have mentioned will help. If you can re-write your program, then you need to investigate what it is trying to "lock", whether or not it is getting into a "deadly embrace", and/or if some programmer simply forgot to code a call to DBUNLOCK. Likewise, "other programs" should be abortable [press <break>, then type ABORT at the prompt]. If they cannot, then perhaps they are the co-conspirator in the deadlock situation. Again, if you have access to the source, it is time to look into these to determine why locks are being held for so long.

 

 

Q: Anyone have any sugesstions on how to detect if a system has multiple CPUs in a CI script?

 

A: Guy Paul replied:

 

SETVAR NUM_PROCESSORS,STR(HPCPUNAME,12,1)

 

This should do the trick in most cases, i.e; 99X and 959-989. Several people pointed out this will not work on the newer A-/N-Class machines (e.g. "SERIES e3000/A500-200-14"). Donna Garverick and Paul Christidis both supplied CI scripts that determine the number of CPUs by parsing output from "sysinfo.prvxl.telesup". Check the archives if you want the scripts. James Hofmeister demonstrated how to get the answer via snmp (note "aleta" is the system name):

 

:snmpget.net.sys aleta public &

hp.nm.system.general.mpeXLSystem.processor.numActive.0

 

Name: hp.nm.system.general.mpeXLSystem.processor.numActive.0

Integer: 1

 

:snmpget.net.sys aleta public &

hp.nm.system.general.mpeXLSystem.processor.numPresent.0

 

Name: hp.nm.system.general.mpeXLSystem.processor.numPresent.0

Integer: 1

 

Finally, Mike Hornsby showed how to get the information using DEBUG:

 

:comment max cpus

:debug dv $a.c0001020,1,decimal;e

DEBUG/iX C.39.06

 

HPDEBUG Intrinsic at: a.00faffa0 hxdebug+$c8

VIRT $a.c0001020 #           1

 

:comment conf cpus

:debug dv $a.c0001024,1,decimal;e

HPDEBUG Intrinsic at: a.00faffa0 hxdebug+$c8

VIRT $a.c0001024 #

 

 

Q: In the same vein, someone asked, "One of our hardware guys asked me what should have been an easy question, but we can't find the answer to it even after searching docs.hp.com. We are looking for a way to find out how much memory is installed on a machine.

 

A: Chuck Ciesinski replied:

 

There are several free ways, one is by running CSTM (SYSDIAG on pre-6.5 systems), and another is by running sysinfo. If you own Glance/iX or Lund's SOS, these tools will also tell you how much memory is installed (and a lot more).

 

Stan Sieler added:

 

Here's a simple way, though it requires you to be logged on somewhere with PM capability:

 

   :debug

   wl "Main memory = ", [$c0000ca8] / #512 : "#", " MBs"

   Main memory = #320 MBs

 

 

Q: Is the external modem port (just below the internal modem port on the IO card) accessible on the HP3000?

 

A: Lars Appel replied:

 

You switch between internal and external modem port with the CA command (configure access port) at the Ctrl-B prompt. Use CO to get back to regular console mode (leave Ctrl-B prompt). Some more Ctrl-B prompt info can be found at http://docs.hp.com/cgi-bin/doc3k/B3265090496.13461/94

 

 

Q: I have a patch for FTP (FTPHD68A) that I want to install. There's no indication as to whether it requires a reboot or not. Do all HP3000 require reboots? Do I use AUTOPAT or Patch/IX?

 

A: Several people (Donna Garverick, James Hofmeister, Gilles Schipper and John Clogg) replied to this. The consensus is that FTP patches do not require a reboot. As to whether to use AUTOPAT or PATCH/iX, this is mostly a personal preference issue.

 

 

Q: I'm trying to set up a test box. When I boot the system up it only goes to INIT C200. I look at the back of the system and I see the XCVR/NET FAIL light flashing. What is the problem? How can I fix it?

 

A: Gilles Schipper replied:

 

It could be you're not waiting long enough. 9x7 boxes with a lot of memory can take 10 minutes or more to do a memory check.

 

 

Q: The following messages appeared in my console log yesterday afternoon. Do I need to be concerned?

 

MPS: installed device clone as major 1

MPS: installed device sad as major 121

MPS: installed device pipe as major 137

MPS: installed module sw2proc

MPS: installed module sc

MPS: installed module pipemod

MPS: installed device log as major 122

MPS: installed module timod

MPS: installed module tirdwr

MPS: installed device loop as major 124

Starting Streams/iX memory freeze process [pin 66]

Starting Streams/iX memory release process [pin 71]

Starting Streams/iX scheduler [pin 84]

 

A: James Hofmeister replied:

 

This is the startup messages for the Streams/iX subsystem. Typical applications which use the Streams/iX subsystem on MPE/iX are:  Web Servers, Sendmail and most common the POSIX "|" HPPIPE command. The startup messages are not of concern, but it is good to keep in mind that you are using Streams/iX and that you should have the current General Release streams "STR" patch installed.

 

 

Q: We are on an A400 with no problems for years. This morning we had a power outage and at 15 minutes into the outage I decided to shutdown the A400. All went well. An hour and half later the power comes on. It appears the nmconfig file is corrupt? How would this happen?  NSCONTROL would not start. Any ideas or thoughts or things I should look for? I am in the process of restoring my nmconfig file now.

 

A: Craig Lalley replied:

 

My guess is that someone went into NMMGR and inadvertently made changes without a VALIDATE. Try going into nmmgr then VALIDATE all the subsystems before the restore.

 

 

Q: Is there a way to "export" say a DTC configuration from one system and "import" it on another?

 

A: Goetz Neumann replied:

 

I would think that you can do that using NMMGR 'Maintenance Mode', see : "Using the Node Management Services (NMS) Utilities". The COPYCONF command has srcpath, srcfile, destpath, and destfile among its parameters. You'll just need to determine the 'path' of your DTC in your source NMCONFIG file (and in your destination file obviously).

 

 

Q: I recently noticed that when a file is created in a POSIX directory under a standard MPE account that resides on a user volume set that the file shows up as being built on the system volume set. Is this normal? Is there any way to insure that files built in this sub directory use user volume space rather than system volume space?

 

A: Donna Garverick replied:

 

Accounts reside on the system volume set, so any files or directories created directly under an account will be created on the system volume set. You can specify that a normal MPE group be built on a user volume. Anything built below it, be it a file or directory, will also be on that user volume. The trick is to use links to make it appear that <whatever> is hanging off the account.

 

 

Q: I have a F/W card connected to a hass unit. What is the SCSI access priority?

 

A: Guy Paul replied:

 

The SCSI priority is in this order: 7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8 with 7 usually being set for the adapter card.

 

 

Q: We have a large image dataset with capacity of 16.2 million records. We just deleted 8 million plus records from the set, and have been told we need to repack the dataset. What are all the options we have available? Downtime is not something we have much of. [Note the questioner indicated his organization has Adager.]

 

A: John Clogg replied:

 

A repack can be done with Adager, and several types of repacks are available. The least complicated and fastest repack is a "serial" repack, which simply squeezes out the deleted entries, without altering the sequence of any of the entries. You can also perform a "Chained" repack, which reorganizes the entries in the dataset so that all entries that are on a given chain are located contiguously in the dataset. If your application does a lot of chained retrieval, this option can improve performance considerably. It will typically take much longer than a serial repack, however. If you choose to do a chained repack, and your dataset has multiple paths, you must carefully choose which path to use for the repack, based on frequency of chained reads and chain length. Do not assume the primary chain is the best choice. A "Sorted" repack can be useful in very limited circumstances. Note that chained repacks do not alter the chronological sequence of entries on a chain. Descriptions of all these options can be found in "The Adager Guide".

 

Mike Hornsby added:

 

When a new entry is added to a detail data set, TurboIMAGE/XL by default uses the delete chain pointer, unless the pointer is zero or HWMPUT has been enabled. The delete chain is a last deleted next used, linked list of free entries. The HWMPUT option overrides the default and adds entries at the high water mark until the max capacity is reached, then the delete space chain is used. The drawback to using the delete chain is that it will generally cause DBPUTS to be placed randomly creating extra disc IO. HPMPUT is not a permanent solution but it can bridge the gap between repacks.

 

DBUTIL

enable dbname for hwmput

HWMPUT is enabled.