UNIX Time unter VMS ?

  • 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).

  • 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