[Info-vax] Large mailboxes

Phillip Helbig undress to reply helbig at asclothestro.multivax.de
Mon Nov 30 15:33:55 EST 2020


In article <rq3auv$kka$5 at dont-email.me>,
=?UTF-8?Q?Jan-Erik_S=c3=b6derholm?= <jan-erik.soderholm at telia.com>
writes: 

Maybe quote fewer lines if you write just one line in your post?

And reading that one line, nomen est omen!

> Den 2020-11-30 kl. 18:25, skrev Marc Van Dyck:
> > After serious thinking Marc Van Dyck wrote :
> > 
> >> Yes I will do that next monday and report the results here.
> > 
> > OK, as promised, I tested. I does not work.
> > 
> > I ran the procedure below. I tested it interactively with a small
> > amount of messages, and then submitted it in batch, so as to have a log
> > file, with 1.000.000 messages.
> > 
> > $       SET NOVERIFY
> > $       total = P1
> > $       disp_mem = P2
> > $       disp_count = P3
> > $       MBX /CREATE /MES = 100 /POSITIONS = 'total' /PERM mvd$test1
> > $       count = 0
> > $       text = "This is message number "
> > $       WRITE SYS$OUTPUT "Start Writing at ''F$TIME()'..."
> > $       SHOW MEMORY /POOL
> > $snd:
> > $       count = count + 1
> > $       IF ((count/disp_count)*disp_count) .EQ. count THEN WRITE SYS$OUTPUT 
> > "''F$TIME()' - messages sent : ''count'"
> > $       IF ((count/disp_mem)*disp_mem) .EQ. count THEN SHOW MEMORY /POOL
> > $       message = "''text'''count'"
> > $       MBX /SEND /SYMBOL = message /NOLOG mvd$test1
> > $       IF count .LT. total THEN GOTO snd
> > $       WRITE SYS$OUTPUT "Finished writing ''total' messages"
> > $       count = 0
> > $       WRITE SYS$OUTPUT "Start Reading at ''F$TIME()'..."
> > $rec:
> > $       count = count + 1
> > $       MBX /RECEIVE /END = done mvd$test1 message
> > $       IF F$INTEGER (message - text) .NE. count THEN GOTO ERROR
> > $       IF ((count/disp_count)*disp_count) .EQ. count THEN WRITE SYS$OUTPUT 
> > "''F$TIME()' - messages read : ''count'"
> > $       IF ((count/disp_mem)*disp_mem) .EQ. count THEN SHOW MEMORY /POOL
> > $       GOTO rec
> > $error:
> > $       WRITE SYS$OUTPUT "Error encountered at ''F$TIME()'"
> > $       WRITE SYS$OUTPUT "Last message read = ''message' - counter = ''count'"
> > $done:
> > $       SHOW MEMORY /POOL
> > $       WRITE SYS$OUTPUT "Finished reading ''total' messages at ''F$TIME()'"
> > $       WRITE SYS$OUTPUT "Don't forget to execute MBX /DELETE mvd$test1"
> > $       EXIT
> > 
> > I won’t post the whole log file here, it’s too large. But here the
> > begin and the end of the writing phase. The system happily accepts the
> > 1.000.000 messages, and one can see the free nonpaged dynamic memory
> > decrease while the messages are sent:
> > 
> > Start Writing at 30-NOV-2020 16:23:06.06...
> >               System Memory Resources on 30-NOV-2020 16:23
> > ␍␊Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      356.07       34.54
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.20       67.82
> > 30-NOV-2020 16:23:09.95 - messages sent : 1000
> > 30-NOV-2020 16:23:13.44 - messages sent : 2000
> > 30-NOV-2020 16:23:17.10 - messages sent : 3000
> > 30-NOV-2020 16:23:20.49 - messages sent : 4000
> > 30-NOV-2020 16:23:24.08 - messages sent : 5000
> > 30-NOV-2020 16:23:27.61 - messages sent : 6000
> > 30-NOV-2020 16:23:31.24 - messages sent : 7000
> > 30-NOV-2020 16:23:34.94 - messages sent : 8000
> > 30-NOV-2020 16:23:38.65 - messages sent : 9000
> > 30-NOV-2020 16:23:42.18 - messages sent : 10000
> >              System Memory Resources on 30-NOV-2020 16:23
> > ␍␊Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      354.85       35.76
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.21       67.81
> > 30-NOV-2020 16:23:46.24 - messages sent : 11000
> > 
> >  
> > 
> > 30-NOV-2020 17:26:18.05 - messages sent : 990000
> >               System Memory Resources on 30-NOV-2020 17:26
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      235.22      155.39
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      110.46       66.56
> > 30-NOV-2020 17:26:22.07 - messages sent : 991000
> > 30-NOV-2020 17:26:25.99 - messages sent : 992000
> > 30-NOV-2020 17:26:29.73 - messages sent : 993000
> > 30-NOV-2020 17:26:34.16 - messages sent : 994000
> > 30-NOV-2020 17:26:38.16 - messages sent : 995000
> > 30-NOV-2020 17:26:41.70 - messages sent : 996000
> > 30-NOV-2020 17:26:45.81 - messages sent : 997000
> > 30-NOV-2020 17:26:50.05 - messages sent : 998000
> > 30-NOV-2020 17:26:54.14 - messages sent : 999000
> > 30-NOV-2020 17:26:57.83 - messages sent : 1000000
> >               System Memory Resources on 30-NOV-2020 17:26
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      234.00      156.62
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      110.36       66.66
> > Finished writing 1000000 messages
> > 
> > But, when messages are read, an end of file marker is received
> > after some 16.000 messages, probably the first time the message count
> > goes through zero:
> > 
> > Start Reading at 30-NOV-2020 17:26:57.85...
> > 30-NOV-2020 17:27:01.89 - messages read : 1000
> > 30-NOV-2020 17:27:06.46 - messages read : 2000
> > 30-NOV-2020 17:27:10.24 - messages read : 3000
> > 30-NOV-2020 17:27:13.98 - messages read : 4000
> > 30-NOV-2020 17:27:18.13 - messages read : 5000
> > 30-NOV-2020 17:27:21.89 - messages read : 6000
> > 30-NOV-2020 17:27:26.35 - messages read : 7000
> > 30-NOV-2020 17:27:30.68 - messages read : 8000
> > 30-NOV-2020 17:27:34.73 - messages read : 9000
> > 30-NOV-2020 17:27:39.10 - messages read : 10000
> >               System Memory Resources on 30-NOV-2020 17:27
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      235.18      155.43
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.03       68.00
> > 30-NOV-2020 17:27:42.79 - messages read : 11000
> > 30-NOV-2020 17:27:46.92 - messages read : 12000
> > 30-NOV-2020 17:27:50.76 - messages read : 13000
> > 30-NOV-2020 17:27:54.35 - messages read : 14000
> > 30-NOV-2020 17:27:58.51 - messages read : 15000
> > 30-NOV-2020 17:28:02.39 - messages read : 16000
> >               System Memory Resources on 30-NOV-2020 17:28
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      236.03      154.58
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.98      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.02       68.00
> > Finished reading 1000000 messages at 30-NOV-2020 17:28:06.05
> > Don't forget to execute MBX /DELETE mvd$test1
> >   VANDYCK      job terminated at 30-NOV-2020 17:28
> > 
> > The mailbox is indeed indicated as empty, but one can see that its
> > deletion still frees up a lot of nonpaged dynamic memory, a clear
> > indication that the mailbox was not really empty :
> > 
> > ROCK> mbx/info mvd$test1
> > Current status of mailbox named MVD$TEST1 :
> > 
> > Physical name       : _MBA459:
> > Owner UIC           : [000001,000034]
> > UIC Protection mask : (S:RWPL,O:RWPL,G:RWPL,W:RWPL)
> > Message size        :   100
> > Processes attached  :     0
> > Pending messages    :     0
> > 
> > ROCK>
> > ROCK> show mem/pool
> >               System Memory Resources on 30-NOV-2020 17:35
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      236.06      154.56
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.99      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.12       67.90
> > ROCK> mbx/att mvd$test1
> > ROCK> mbx/del mvd$test1
> > ROCK> show mem/pool
> >               System Memory Resources on 30-NOV-2020 17:35
> > 
> > Dynamic Memory Usage:              Total        Free      In Use
> >   Nonpaged Dynamic Memory (MB)    390.62      356.05       34.57
> >   Bus Addressable Memory  (MB)      1.49        1.35        0.13
> >   Paged Dynamic Memory    (MB)    390.62      256.99      133.63
> >   Lock Manager Dyn Memory (MB)    177.03      109.12       67.90
> > 
> > So it is clear that sending more than 64k messages to a mailbox cannot
> > be trusted and should therefore be avoided. I think it should be stated
> > explicitly in the documentation.
> 
> As long as sopmeone reads them, it should be OK... :-)
> 



More information about the Info-vax mailing list