- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- How to get dynamic memory information from another...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 01:32 PM
01-22-2006 01:32 PM
my login account has the all privilege.
i want to know the dynamic memory usage for this running process after my account login.
how can i do that?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 04:51 PM
01-22-2006 04:51 PM
Re: How to get dynamic memory information from another running process?
It allows to gather much info from processes including e.g. the varias working set sizes, virtualpagecount ...
regards Kalle
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 05:12 PM
01-22-2006 05:12 PM
Re: How to get dynamic memory information from another running process?
now i have known how to get the physical memory usage of a process.
but how to know a dynamic memory usage ?
no idea...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 05:20 PM
01-22-2006 05:20 PM
Re: How to get dynamic memory information from another running process?
Can you explain exactly what _YOU_ mean by
"dynamic memory information"?
Dave
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 05:33 PM
01-22-2006 05:33 PM
Re: How to get dynamic memory information from another running process?
for your own process, you can type $sho proc/mem to show the PDMA. but how to know the value from another process which you donot own?
also, is there any value-related between dynamic memory and physical memory?
the physical memory i calculated is far more then the dynamic memory...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 05:40 PM
01-22-2006 05:40 PM
Re: How to get dynamic memory information from another running process?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:02 PM
01-22-2006 06:02 PM
Re: How to get dynamic memory information from another running process?
$ mem=F$GETJPI(pid,"PPGCNT")+F$GETJPI(pid,"GPGCNT")
as HP says, the result for this command is a unit of "page", you know 1 page = 8KB in alpha
so, i summarize the whole result but see it's >100G. the physical memory in my node is just <10G... how come?
this is my problem...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:22 PM
01-22-2006 06:22 PM
Re: How to get dynamic memory information from another running process?
PPGCNT (process private pages) and GPGCNT (process global pages) are measured in PAGELETS = 512 bytes, the size of the old VAX page.
Global pages are also shared between multiple processes and a global page mapped by multiple processes only exists ONCE in physical memory, so you can't add those numbers.
The term 'dynamic memory' actually refers to the Process Dynamic Memory Area shown by SHOW PROC/MEMORY, which is a process-private pool of memory in P1 space.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:26 PM
01-22-2006 06:26 PM
Re: How to get dynamic memory information from another running process?
do not necessarily reflect physical memory usage.
Secondly, by counting the GPGCNT for every process,
you are ignoring the fact that the global pages are
likely to be shared... and should therefore NOT
be counted multiple times.
You also need to take into account that pages are
not necessarily in memory but may be in a pagefile
or other disk file (images).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:28 PM
01-22-2006 06:28 PM
Re: How to get dynamic memory information from another running process?
PPGCNT (process private pages) and GPGCNT (process global pages) are measured in PAGELETS = 512 bytes, the size of the old VAX page.
but from HP.
it says that it's the "page" unit
pls refer to:
For a given process with PID in the symbol "pid", the total number of pages
currently in the working set is:
$ mem=F$GETJPI(pid,"PPGCNT")+F$GETJPI(pid,"GPGCNT")
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:30 PM
01-22-2006 06:30 PM
Re: How to get dynamic memory information from another running process?
yes. global pages are shared.
but even if i only calculate with the private pages. it's also very huge...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:32 PM
01-22-2006 06:32 PM
Re: How to get dynamic memory information from another running process?
the fact that pages in the working set may not
be physically in memory.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:34 PM
01-22-2006 06:34 PM
Re: How to get dynamic memory information from another running process?
please have a look in the System Services Manual for explanation of the arguments to the $GETJPI system service:
JPI$_PPGCNT
Returns the number of pages (on VAX systems) or pagelets (on Alpha and I64 systems) the process has in the working set. This is a longword integer value.
These are the process-private pagelets in the process working set, so they WILL be in physical memory at that time.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:41 PM
01-22-2006 06:41 PM
Re: How to get dynamic memory information from another running process?
all right, now we have 2 versions for the PPGCNT output, hehe. manual says it's pagelet but HP website says it's page... which is the correct?
and btw, if i do the calculation for all the process, i believe the physical memory size for total process is beyond the physical memory for the alpha machine...
To david
as you said, the pages in working set are not physically in the memory at all.
i lost my way... if it's true, how to know how many physical memory a process uses ??(return to the original question, hehe)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:44 PM
01-22-2006 06:44 PM
Re: How to get dynamic memory information from another running process?
i target the service manual...
so i think maybe the words on HP website is suitable to VAX (cannot say it's wrong...)
thanks~
now i'm confused with what David said... the pages in working set are not all physically in the memory
do you have any idea?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 06:57 PM
01-22-2006 06:57 PM
Re: How to get dynamic memory information from another running process?
terminology around pages/pagelets can sometimes be confusing, if you consider the 3 different architectures OpenVMS is running on.
From the IDSM (OpenVMS Internals and Datastructures Manual - Chapter 19):
The term working set refers to the virutal pages of a process that are currently valid and in physical memory.
And let's ask again: what is the problem your're trying to solve ? Is there a real problem ?
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 07:07 PM
01-22-2006 07:07 PM
Re: How to get dynamic memory information from another running process?
This question has been asked in comp.os.vms and
I am trying to find an answer I remember seeing
that describes the situation very, very clearly.
I will post the link if I can find the article.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 07:08 PM
01-22-2006 07:08 PM
Re: How to get dynamic memory information from another running process?
we will do a improvement which will cause many new process to run on the system. regard to the physical memory i wanna confirm whether the change can be implemented.
btw, do you have the soft copy of IDSM (OpenVMS Internals and Datastructures Manual) ? i cannot find it in the web...
and also, you mentioned:
The term working set refers to the virutal pages of a process that are currently valid and in physical memory.
my understand is that the size of working set(pagelet) is equal to the consumption of physical memory, is that correct?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 07:10 PM
01-22-2006 07:10 PM
Re: How to get dynamic memory information from another running process?
very looking forward to your link...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 07:34 PM
01-22-2006 07:34 PM
Re: How to get dynamic memory information from another running process?
the IDSM is a book from Digital Press, that you need to buy (ISBN 1-55558-120-X).
The working set is made up by process private and global page(let)s. If you will create a lot of new processes (of the same type and memory usage charateristics), you could expect the physical memory usage to increase by
Consider to use SYS$EXAMPLES:WORKING_SET.COM and modify it to also print PPGCNT and GPGCNT.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 07:52 PM
01-22-2006 07:52 PM
Re: How to get dynamic memory information from another running process?
can i calculate the working set page(let) to be the physical memory utilization ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2006 08:08 PM
01-22-2006 08:08 PM
SolutionPPGCNT = process-private page(lets) in the process working set are REAL physical page(let)s used by this process at that time.
GPGCNT = global page(lets) in the process working sets are also PHYSICAL page(lets), BUT they can be used/mapped to by other processes at the same time.
If you would use the sum of PPGCNT+GPGCNT for all processes, you would over-estimate physical memory by ignoring the sharing effect of the global pages.
If you know the size of the global section(s) used by those processes, you could use the sum of all PPGCNT of all processes + the size of the global section(s). This would be the most correct approximation of physical memory usage for those processes.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2006 01:38 AM
01-23-2006 01:38 AM
Re: How to get dynamic memory information from another running process?
btw, do you have an good way to calculate the total shared GPGCNT? so that the physical memory usage could be more accurate
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2006 02:11 AM
01-23-2006 02:11 AM
Re: How to get dynamic memory information from another running process?
trying to sum up the GPGCNT values does not make sense. A total count of 70 could represent 70 processes mapping one and the same page(let) or 70 different page(let)s. In terms of physical memory used, this could mean anything between 1 or 70 pages, you can't tell.
If you increase the no. of processes of the same application type, you don't need to worry about the global pages.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2006 04:39 AM
01-23-2006 04:39 AM
Re: How to get dynamic memory information from another running process?
This area is used for process logical names, and various other things.
Purely Personal Opinion