<<< DUA0:[NOTES$LIBRARY]VAX_VMS.NOTE;1 >>> -< SIG VAX/VMS >- ================================================================================ Note 493.0 NULL process, COME HOME !! 5 replies DECUSF::MOUSSU_L "Laurent MOUSSU -CHU Lille -CERIM" 22 lines 12-SEP-1989 16:46 -------------------------------------------------------------------------------- En V4, on aimait bien le process NULL: il ne servait vraiment a rien, mais permettait d'un seul coup d'oeil d'evaluer la charge CPU courante d'une machine, dans les diverses commandes MONITOR ou dans SHOW SYS. Par ex. $ sho sys VAX/VMS V4.6 on node DECUSF 12-SEP-1989 16:34:37.87 Uptime 26 05:57:31 Pid Process Name State Pri I/O CPU Page flts Ph.Mem 00000020 NULL COM 0 0 24 17:59:30.22 0 0 00000021 SWAPPER HIB 16 0 0 00:01:49.44 0 0 .... nous permet de constater instantanement que le systeme en question tourne depuis 26 jours 5 heures... et qu'il a ete "idle" pendant pres de 24 jours 18 heures. En V5, plus de process NULL, et donc obligation pour obtenir le meme genre d'info: -soit de faire tourner MONITOR en permanence (l'info devant ensuite etre rejouee/depouillee) -soit, sans doute, d'aller chercher qqe part, je suppose, des datas "non documentees, non supportees" -soit d'utiliser un trick que quelqu'un connait peut-etre ?... ================================================================================ Note 493.1 NULL process, COME HOME !! 1 of 5 DECUSF::FAUCONNET_A "Alain,INSERM,Res.SIG Graphique" 10 lines 12-SEP-1989 18:49 -< Le code n'est pas de moi mais je l'ai place avant BO! >- -------------------------------------------------------------------------------- Voir dans la zone VMS: le programme NULLTIME.FOR. L'analyse du code est interessante... Ca donne ceci : $ NULLTIME Utilization at 12-SEP-1989 18:45:25.70 Time since last boot: 1 03:46:30.00 Unused processortime: 0 22:05:54.67 Idle (1 active processor) : 79.56% (Qui a dit que mon systeme ne f... rien?) ================================================================================ Note 493.2 NULL process, COME HOME !! 2 of 5 DECUSF::MOUSSU_L "Laurent MOUSSU -CHU Lille -CERIM" 9 lines 12-SEP-1989 19:19 -< THANKS >- -------------------------------------------------------------------------------- Thanks so much... Ca marche bien. Pour t'oter tout complexe au niveau pourcentage, voici ce que cela donne chez moi : Utilization at 12-SEP-1989 19:11:13.03 Time since last boot: 27 08:31:22.00 Unused processortime: 25 08:04:11.80 Idle (1 active processor) : 92.61% Il est vrai qu'on sort du mois d'aout .... ================================================================================ Note 493.3 NULL process, COME HOME !! 3 of 5 DECUSF::CEDELLE_A "Alain Cedelle, IRISA Rennes" 73 lines 14-SEP-1989 16:37 -< Routine MACRO. >- -------------------------------------------------------------------------------- Pour ceux qui n'aiment pas FORTRAN, voici une petite routine MACRO (!!) qui a aussi l'avantage de pouvoir s'appeler depuis un programme. Ca vient des US. ; +---------------------------------------------------------------------------+ ; | | ; | UTIL$ROOT:[PERFMON]CPUIDLE.MAR Calculate CPU Idle Time | ; | Scott Bailey, Xerox Corp. RE/GSD/WCO Created November 14, 1988 | ; | | ; | Modification History | ; | V1.0-002 11/14/88 RSB Original version | ; | | ; +---------------------------------------------------------------------------+ ; ; This procedure returns the number of 10-ms ticks of idle time accumulated by ; the active CPUs found on the system. It also returns the number of CPUs ; found, so the caller can determine how useful the returned idle time is. The ; basic algorithm is stolen from the routine GET_SPC in module SYSGETSPI in ; facility MONITOR from the VMS V5.0 fiche. ; .TITLE CPUIDLE - Calculate CPU Idle Time .IDENT 'V1.0-002' .LIBRARY 'SYS$LIBRARY:LIB' .LINK 'SYS$SYSTEM:SYS.STB' /SELECTIVE_SEARCH ; $CPUDEF $SSDEF ; ; status.wl.v = CPUIDLE(idle.wl.r,cpus.wl.r) ; ; IDLE (longword output parameter, passed by reference) contains the total ; aggregate idle time measured on the system, in 10-ms ticks. ; CPUS (longword output parameter, passed by reference) contains the number ; of active CPUs whose idle times were analyzed. ; STATUS (longword function value) contains the return status from this call. ; It will be SS$_BADPARAM if the argument count was incorrect, otherwise it ; will be SS$_NORMAL. Flakey arguments may cause access violations. ; IDLE = 4 ; Argument list offset definitions CPUS = 8 ; ; This procedure has been tested only on uniprocessor systems. The effects of ; starting and stopping cpus on a multiprocessor system are unknown but probably ; result in idle times which are not monotonically increasing with time; e.g. ; if a cpu is stopped, its idle time is probably removed from the total, which ; causes the returned value to decrease. ; .PSECT $CODE PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT,NOVEC .ENTRY CPUIDLE,^M CMPL #2,(AP) ; Did user supply 2 arguments? BEQL 10$ ; Yes, continue MOVL #SS$_BADPARAM,R0 ; Set error status RET ; and get out 10$: ; Initialize counters CLRL R0 ; Idle tick counter CLRL R4 ; Active CPU counter MOVL G^SMP$GL_ACTIVE_CPUS,R1 ; Get bitmask of active CPUs 20$: ; Start of scan loop FFS #0,#32,R1,R2 ; R2 will have next CPU index BEQL 30$ ; Quit if no more active CPUs MOVL G^SMP$GL_CPU_DATA[R2],R3 ; R3 points to CPU's counters ADDL2 CPU$L_NULLCPU(R3),R0 ; Add in idle time INCL R4 ; Count this CPU BBSC R2,R1,20$ ; Mark CPU 'counted' & loop 30$: ; Pass back information MOVL R0,@IDLE(AP) ; Store total idle time MOVL R4,@CPUS(AP) ; Store active CPU count MOVL #SS$_NORMAL,R0 ; We finished okay RET .END ================================================================================ Note 493.4 NULL process, COME HOME !! 4 of 5 DECUSF::THONON_D "Daniel Thonon SEMA-GROUP Meylan" 15 lines 2-NOV-1989 13:06 -< NULL frappe encore >- -------------------------------------------------------------------------------- NULL n'est pas si mort que ca! Extraits d'un ERRORLOG: FATAL BUGCHECK KA420 CPU REV# 5. SCS NODE: POM06 INVEXCEPTN, Exception while above ASTDEL or on interrupt stack PROCESS NAME NULL PROCESS ID 00010000 Et j'ai rien fait de particulier a mon systeme (VMS 5.1-1). ================================================================================ Note 493.5 NULL process, COME HOME !! 5 of 5 DECUSF::ALBERT_JN 7 lines 2-NOV-1989 17:48 -< Ben oui ! >- -------------------------------------------------------------------------------- Le NULL n'a pas ete supprime. Il est devenu insible. Imaginze un quadri-processeur pas trop charge: Si le directeur qui a signe la commande de $ xxx M voit 4 NULL process qui prennent chacun 80 % de CPU comme on dit par ici. J.Y Collot a fait une presentation sur l'analyse des crashs, et il doit y avoir les slides quelques parts.