Operating System - OpenVMS
1748195 Members
3036 Online
108759 Solutions
New Discussion юеВ

Re: query on show system output

 
SOLVED
Go to solution
Sunil Kumar H G
Advisor

query on show system output

I want to know what last two coloumns of "show system" command output REALLY mean and how can I get those values using lexicals if I have pid?
10 REPLIES 10
Volker Halle
Honored Contributor

Re: query on show system output

Sunil,

the OpenVMS DCL Dictionary manual explains the SHOW SYSTEM command and output in great detail:

http://h71000.www7.hp.com/doc/83final/9996/9996pro_262.html#brass_126

The columns of the SHOW SYSTEM output have titles above them. Which columns are you talking about ? 'Page flts' and 'Pages' ? Note there is another possible 'last' column, which lists the process type (M,B,S,N).

The arguments for F$GETJPI are explained in HELP LEX F$GETJPI ARG and also in even more detail, in the same manual as pointed out above.

PAGEFLTS Integer Count of page faults.
PPGCNT Integer Process page count

Note that PPGCNT is measured in pagelets, but SHOW SYSTEM may show it in hardware pagesize units, depending on the architecture you're running at.

Volker.
Robert Gezelter
Honored Contributor

Re: query on show system output

Sunil,

Welcome to the HP ITRC Forum!

The output of the SHOW SYSTEM command is well described in the HELP text for the SHOW SYSTEM command. In particular, HELP SHOW SYSTEM EXAMPLE will give a full explication of each item in the displayed output.

Trying to be as simple as I can, the "page fault" count is the cumulative number of times that a memory location has been referenced where the page containing the memory location has not been in the process' working set. This is a cumulative count for each process, and is retrievable using the F$GETJPI DCL lexical function (or equivalent system service) using the PAGEFLTS parameter).

The last number is the number of currently active pages for the process.

- Bob Gezelter, http://www.rlgsc.com
Hoff
Honored Contributor

Re: query on show system output

Off the top, the following should be pretty close:

$ FAULTS = F$GETJPI("0","PAGEFLTS")
$ GPGCNT = F$GETJPI("0","GPGCNT")
$ PPGCNT = F$GETJPI("0","PPGCNT")
$ PAGES = GPGCNT + PPGCNT

Now.

Why are you looking for page faults and memory pages and related data from SHOW SYSTEM?

The answer to that question almost always far more central to the problem you are looking to solve here.

That answer can go toward the usual "buy more memory" answer, or the "offload the box" answer, or "send more of the interactive stuff into fewer batch queues" or "buy a bigger OpenVMS VAX, OpenVMS Alpha or OpenVMS I64 box. Sometimes toward upgrading the OpenVMS version.

Often toward "load and run T4" tool to see what's going on, too.

This could sometimes also go toward the "how to find a process virtual memory fragmentation or a virtual memory leak" discussion, too.

Probably a couple of other directions, too.

So. What's the real question?

Sunil Kumar H G
Advisor

Re: query on show system output

Hi volker,

I was talking about the "pages" and "type of process coloumn"

I tried to get the pages value for one process using "ppgcnt" parameter to f$getjpi function.I got a different number than what "show system" was showing for that perticular process.

And I got to know that type of process we can decide by passing "mode" parameter to f$getjpi and to decide whether the process is multithreaded or not we need to pass "multithread"to f$getjpi.Am I right? pls tel me what is the return valut for this call actually stands for
Sunil Kumar H G
Advisor

Re: query on show system output

tell me how can I get the same number for pages value from the lexical function as we get in "show system" output
Volker Halle
Honored Contributor
Solution

Re: query on show system output

Sunil,

PPGCNT and GPGCNT are returned in pagelets (units of 512 bytes). The Mem column in SHOW SYSTEM shows the phyical memory used in 'real' PAGES, i.e. PAGE_SIZE bytes per page (8 kb for Alpha).

F$GETJPI(,"MULTITHREAD") returns either 0 (false) or 1 (true) to indicate whether the process is multithreaded or not.

To determine, if the process is a subprocess, you need to compare it's PID against MASTER_PID. If they are not the same, it's a subprocess.

I've attached a little DCL procedure to show you, how you can determine these parameters.

Volker.
Sunil Kumar H G
Advisor

Re: query on show system output

Hi Volker,

You are right.but I have one more doubt. For all other process I got proper value but for my login process still the numbers are different.why?

I have attached output of your script for my login process.
Volker Halle
Honored Contributor

Re: query on show system output

Sunil,

you are changing the process environment while looking at the process itself. Log in again and then check your first process from the 2nd one. This should provide consistent results.

Volker.
Sunil Kumar H G
Advisor

Re: query on show system output

thanks Volker.

Regards
Sunil