Anmelden

View Full Version : Static Storage size zu groß



schatte
14-08-06, 13:17
Hallo,

ich habe ein Problem mit der Größe des festen Speichers in einem ILE Cobol Programm.
Zum Test habe ich mir ein einfaches ILE Cobol Programm erstellt, welches einfach nur einen String "abc" in eine PIC X(3) Variable schreibt.

Jetzt habe ich zwei AS/400 System. Beide V5R3M0.
Das Programm wird mit dem Befehl CRTBNDCBL OPTION(*UNREF) gewandelt.

Schaue ich mir das gewandelte Programm mit DSPPGM an, erscheint folgende (korrekte) Anzeige:

Programminformationen anzeigen
Anzeige 1 von 7
Programm . . . . . . . : NUM Bibliothek . . . . . . : MAT
Eigner . . . . . . . . : QPGMR
Programmattribut . . . : CBLLE
Detail . . . . . . . . : *BASIC


Programmstatistik:
Anzahl der Parameter . . . . . . . . . . . . . : 0
Größe des zugeordneten Speicherbereichs
(Verdichtung aufgehoben) . . . . . . . . . . : 4096
Größe des festen Speichers . . . . . . . . . . : 2032
Reinitialisierung des festen Speichers zulassen: *NO
Programmgröße . . . . . . . . . . . . . . . . : 77824
Programmstatus . . . . . . . . . . . . . . . . : *USER
Programmdomäne . . . . . . . . . . . . . . . . : *USER
Programm erstellt unter Release . . . . . . . : V5R3M0
Programm erstellt für Release . . . . . . . . : V5R3M0
Weitere ...
Eingabetaste --> Weiter

F3=Verlassen F12=Abbrechen

Die 2. Maschine zeigt folgende Information zum selben Programm an:
Display 1 of 7
Program . . . . . . . : NUM Library . . . . . . . : PGMEUP
Owner . . . . . . . . : PGMEUP
Program attribute . . : CBLLE
Detail . . . . . . . . : *BASIC


Program statistics:
Number of parameters . . . . . . . . . . . . . : 0
Associated space size (decompressed) . . . . . : 4096
Static storage size . . . . . . . . . . . . . : 32002016
Allow static storage reinitialization . . . . : *NO
Program size . . . . . . . . . . . . . . . . . : 77824
Program state . . . . . . . . . . . . . . . . : *USER
Program domain . . . . . . . . . . . . . . . . : *USER
Release program created on . . . . . . . . . . : V5R3M0
Release program created for . . . . . . . . . : V5R3M0
Earliest release program can run . . . . . . . : V5R3M0
More...
Press Enter to continue.

F3=Exit F12=Cancel

Bei dieser Maschine ist der feste Speicher 32 MB!!!

Wenn nun ein Benutzer dieses Programm aufruft, werden direkt 32 MB Hauptspeicher reserviert. Damit kann man schnell eine Maschine platt machen.

Wie kommt dieser Wert zustande? Kann ich diesen Wert irgendwo ändern (SYSVAL, ...)?


Für eure Hilfe wäre ich sehr dankbar!

Viele Grüße
Matthias

Fuerchau
14-08-06, 13:46
Da scheinen mir die PTF-Stände unterschiedlich zu sein.

schatte
14-08-06, 14:18
Danke für die Antwort!

Ich habe gerade mal auf der IBM Seite nach einem entsprechenden PTF gesucht:

Folgendes könnte wohl das richtige sein:
DESCRIPTION OF PROBLEM FIXED FOR APAR SE17744 :
-----------------------------------------------
The program static storage is increased by 32 MB when the
UNREF compiler option is specified, although the XML
special registers are not referenced.

CORRECTION FOR APAR SE17744 :
-----------------------------
Checking is added to ensure program static storage will not be
increased by 32 MB when the *UNREF option is specified, if the
XML special registers are not referenced and XML PARSE is not
used.

CIRCUMVENTION FOR APAR SE17744 :
--------------------------------
Compile without specifying the *UNREF compiler option or
compile specifying TGTRLS(*PRV) if the XML special registers
are not referenced and XML PARSE is not used.

Dieses werden wir mal testen.

Gruß Matthias