Hallo Allerseits,
gits eigentlich ein VMS Äquivalent zum Unix-Befehl "time", also eine Möglicht rauszufinden, wie lange eine Image zum Ablaufen gebraucht hat?
Grüße!
Hallo Allerseits,
gits eigentlich ein VMS Äquivalent zum Unix-Befehl "time", also eine Möglicht rauszufinden, wie lange eine Image zum Ablaufen gebraucht hat?
Grüße!
Einen Befehl wie "time" unter Unix gibt es unter VMS nicht, aber Du kannst mit SET ACCOUNTING/ENABLE=IMAGE das Image-Accounting anschalten. Dann wird für jede Ausführung eines Image ein Accounting-Entrag geschrieben. Mit ACCOUNTING/FULL kannst Du die Accounting-Einträge ansehen (z.B. ACC/FULL/SINCE=TODAY).
Dankeschön, das muß ich mir mal ansehen. Das heißt, das protokolliert die Ausführung jedes DCL Befehls?
Das heißt, das protokolliert die Ausführung jedes DCL Befehls?
Genaugenommen wird jede Image-Aktivierung in einem Prozess protokolliert, aber das läuft auf das gleiche hinaus. Es kann auch sein, dass man das auch für einzelne Prozesse machen kann, vielleicht weiß jemand von den VMS-Experten mehr?
Moin,
hat ein wenig gedauert, nun mein Senf zum Thema.
Musste nachsehen ...
Quelle 1: UNIX for VMS Users, Philip E. Bourne
Quelle 2: Writing Real Programs in DCL, Paul C. Anagnostopoulos
Der direkte Ersatz fuer "time" waere nach Quelle 1 der Befehl "$ show status".
Wenn das nicht reichen sollte oder es besondere Wuensche bezueglich der darzustellenden Items gibt.
Beim Entwickeln von Software ist manchmal CPU Last, Memory Bedarf oder Pagefaults ein Thema.
Dann nehme ich Quelle 2 zur Hand und es tut sich ein wahres Universum von Moeglichkeiten auf...
Nur ein Beispiel...
$ call zeigmirwas "vorher..."
$ !
$ run DeinProgramm
$!
$ call zeigmirwas "nachher..."
$!
$!
$ zeigmirwas:
$ subroutine
$ write sys$output p1
$! hier die fuer Dich interessanten Lexical Functions ($help lexical) einfuegen (F$GETJPI hat alle Info, die auch $show status bringt).
$ write sys$output "User Name : ", F$GETJPI("","USERNAME")
$ write sys$output "Account : ", F$GETJPI("","ACCOUNT")
$ write sys$output "Login Time : ", F$GETJPI("","LOGINTIM")
$ write sys$output "Buffered IO: ", F$GETJPI("","BUFIO")
$ write sys$output "CPU Time : ", F$GETJPI("","CPUTIM")
$ show time
$ exit
$endsubroutine
Die lexical Function F$GETJPI(PID, ITEM) gibt fuer die genannte PID, wenn leer, die eigene, das angegebene Item zurueck.
Moegliche Items...
ACCOUNT APTCNT ASTACT ASTCNT ASTEN ASTLM AUTHPRI AUTHPRIV BIOCNT BIOLM BUFIO BYTCNT BYTLM CLINAME CPULIM CPUTIM
CREPRC_FLAGS CURPRIV DFPFC DFWSCNT DIOCNT DIOLM DIRIO EFCS EFCU EFWM ENQCNT ENQLM EXCVEC FAST_VP_SWITCH
FILCNT FILLM FINALEXC FREP0VA FREP1VA FREPTECNT GPGCNT GRP HOME_RAD IMAGECOUNT IMAGNAME IMAGPRIV JOB
PRCCNT JOBTYPE LAST_LOGIN_I LAST_LOGIN_N LOGIN_FAILURES LOGIN_FLAGS LOGINTIM MASTER_PID MAXDETACH MAXJOBS
MEM MODE MSGMASK MULTITHREAD NODENAME NODE_CSID NODE_VERSION OWNER PAGEFLTS PAGFILCNT PAGFILLOC
PARSE_STYLE_PERM PARSE_STYLE_IMAGE PGFLQUOTA PHDFLAGS PID PPGCNT PRCCNT PRCLM PRCNAM PRI PRIB PROC_INDEX
PROCESS_RIGHTS PROCPRIV RIGHTSLIST RIGHTS_SIZE SHRFILLM SITESPEC SLOW_VP_SWITCH STATE STS SWPFILLOC SYSTEM_RIGHTS
TABLENAME TERMINAL TMBU TQCNT TQLM TT_ACCPORNAM TT_PHYDEVNAM UAF_FLAGS UIC USERNAME VIRTPEAK VOLUMES
VP_CONSUMER VP_CPUTIM WSAUTH WSAUTHEXT WSEXTENT WSPEAK WSQUOTA WSSIZE
Was sich hinter den Items versteckt, da hilft die einschlaegige Doku zu OpenVMS weiter
Da sollte fuer jeden was dabei sein...
Hoffe geholfen zu haben.
MfG
Bernhard