Subject: | |
From: | |
Reply To: | |
Date: | Fri, 31 Jul 1998 11:14:25 +0200 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
I just recognized that after a system crash the file label / record pointer
of a message file is pretty wrong if the message file was opened during the
crash. After the last system crash a message file (64 byte, variable, ascii,
limit 20000) contained apr. 200 records to much !
To avoid this problem I changed the program to do a FCONTROL,6 (write file
label and buffer area to disc) to the message file every time a record was
read and processed. To my surprise - the FCONTROL,6 made the program 106 (!)
times slower ! I expected it to run 2 to 3 times slower, but not this much.
GLANCE tells that the program waits most of its time for "MEMORY MANAGER
POST" (MEM MGR waiting for IO completion when procedure POST is called with
wait options).
During the tests I also recognized an other strange thing. The LISTFILE
command gets an error whenever the "MEMORY MANAGER POST" is called:
DH.DISPO2:lf msg@i@
ACCOUNT= DISPO2 GROUP= DH
FILENAME CODE ------------LOGICAL RECORD----------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX
MSGBGVI 16B VAM 0 1008 16 80 1 8
MSGFILE * 32B VAM 0 1000056 8 1024 3 *
MSGIN * 32B FA 8265 1000000 8 2048 4 8
DH.DISPO2:DO
DH.DISPO2:lf msg@i@
ACCOUNT= DISPO2 GROUP= DH
FILENAME CODE ------------LOGICAL RECORD----------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX
MSGBGVI 16B VAM 0 1008 16 80 1 8
LISTFILE msg@i@;FORMAT=2
MISSING MSG. SET=2. MESSAGE=9169.
PARM(S)= MSGFILE;;;;
GENMSG CALLER STATUS: %101000 DELTA-P: %177777
GENMSG CALLER+1 STATUS: %140016 DELTA-P: %040000
MSGIN 32B FA 8265 1000000 8 2048 4 8
(this is a CIERR 9169)
This leads to some questions:
1) how often is the file label of an message file updated ?
2) Is there an other way to ensure that a message file survive a system
crash ?
3) whats going on with the LISTFILE command ?
Any suggestions and comments would be very appreciated.
-- Hermann Drdxler
PS: I am on MPE/iX 5.5 expr 4.
|
|
|