04-22-2009
how could I get a process Memory Usage
I use pstat API to get Process Infomation
I would like to get a process
1.process owner
2.how many physical memory and virtual memory and total memory used(KB) and usage(%)
3.a process excution file create time
4.a process excution file access time
I do't know which attribute it i need
thanks
_T_LONG_T pst_uid; /* Real UID */
_T_LONG_T pst_pid; /* Process ID */
_T_LONG_T pst_ppid; /* Parent process ID */
_T_LONG_T pst_dsize; /* # real pages used for data */
_T_LONG_T pst_tsize; /* # real pages used for text */
_T_LONG_T pst_ssize; /* # real pages used for stack */
_T_LONG_T pst_nice; /* Nice value */
struct __psdev pst_term;/* TTY of this process; -1/-1 if there isn't one */
_T_LONG_T pst_pgrp; /* Process group of this process */
_T_LONG_T pst_pri; /* priority of process */
_T_LONG_T pst_addr; /* address of process (in memory) */
_T_LONG_T pst_cpu; /* processor utilization for scheduling */
_T_LONG_T pst_utime; /* user time spent executing (in seconds) */
_T_LONG_T pst_stime; /* system time spent executing (in seconds) */
_T_LONG_T pst_start; /* time process started (seconds since epoch) */
_T_LONG_T pst_flag; /* flags associated with process */
_T_LONG_T pst_stat; /* Current status */
_T_LONG_T pst_wchan; /* If state PS_SLEEP, value sleeping on */
_T_LONG_T pst_procnum; /* processor this proc last run on */
char pst_cmd[PST_CLEN]; /* Command line for the process, if available */
_T_LONG_T pst_time; /* resident time for scheduling */
_T_LONG_T pst_cpticks; /* ticks of CPU time */
_T_LONG_T pst_cptickstotal; /* total ticks for life of process */
_T_LONG_T pst_fss; /* fair share scheduler group ID */
float pst_pctcpu; /* %CPU for this process during p_time */
_T_LONG_T pst_rssize; /* resident set size for process (private pages)*/
_T_LONG_T pst_suid; /* saved UID */
char pst_ucomm[PST_UCOMMLEN]; /* executable basename the process is running*/
_T_LONG_T pst_shmsize; /* # real pages used for shared memory */
_T_LONG_T pst_mmsize; /* # real pages used for memory mapped files */
_T_LONG_T pst_usize; /* # real pages used for U-Area & K-Stack */
_T_LONG_T pst_iosize; /* # real pages used for I/O device mapping */
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
we are running red hat ES4 and i would like to know if there is anyway of restrcting the maximum amount of memory that a process can get? I have a single preocess that is taking >13GB.
Thanks,
Frank (4 Replies)
Discussion started by: frankkahle
4 Replies
2. Solaris
Hi All,
I am trying to find the physical memory usage by each process/users.
Can you please let me know how to get the memory usage?.
Thanks,
bsraj. (12 Replies)
Discussion started by: bsrajirs
12 Replies
3. Shell Programming and Scripting
hi all,
i want to write a script that checks the memory usage of processes and send a mail with the name of the process witch is using more then 300mb RAM.
dose anybody have a sample script or an idea how i can make it ?
PROCCESSES="snmpd sendmail"
for myVar in $PROCCESSES
do
... (7 Replies)
Discussion started by: tafil
7 Replies
4. AIX
I don't know when the process will start and end, I need write a script to trace it's cpu/memory usage when it is runing. How to write this script? (2 Replies)
Discussion started by: rainbow_bean
2 Replies
5. Programming
Hi,
I have the following two processes that's built with static libraries. Both the process have many common libraries.
-rwxr-xr-x 1 xxx xxx 152946280 Oct 15 08:38 server1
-rwxr-xr-x 1 xxx xxx 41633880 Oct 15 08:39 server2.
I built these two server processes making all the... (1 Reply)
Discussion started by: srivatsan_vn
1 Replies
6. Emergency UNIX and Linux Support
Hi,
I have the following two processes that's built with static libraries. Both the process have many common libraries.
-rwxr-xr-x 1 xxx xxx 152946280 Oct 15 08:38 server1
-rwxr-xr-x 1 xxx xxx 41633880 Oct 15 08:39 server2.
I built these two server processes making all the... (1 Reply)
Discussion started by: srivatsan_vn
1 Replies
7. UNIX for Advanced & Expert Users
Hi Guys,
I work on a AIX environment and I'm trying to write a script where I can collect all the memory used by a process. Basically I'm executing the command 'ps -fu userid' to get all the process ids and then executing the 'ps v PID' to get all the memory allocated by PPID. My question is... (2 Replies)
Discussion started by: arizah
2 Replies
8. HP-UX
Hi all,
Is there any command which shows the virtual memory usage of a particular process in HP-UX machine.
I have tried with ps, top but could not get what I want.
Kindly provide me a solution.
Thanks in Advance
ARD (4 Replies)
Discussion started by: ard
4 Replies
9. Solaris
hi all gurus:
I want to find out Solaris process memory usage, but got a bit confused, see if any one can provide me some guidance.
i tend to use prstat -a to get total memory consumption by user (I know prstat likely have a bug that simply sum up the memory, regardless if the memory being... (5 Replies)
Discussion started by: oakville
5 Replies
10. Solaris
I have multiple oracle databases on one server. All the database are running from the same user i.e. oraent.
The process for each database can be distinguished by the ps -ef command
Eg : ps -ef | grep oraentThe Output :
oraent 5361 1 0 20:58:05 ? 0:00 oracledb1... (11 Replies)
Discussion started by: yashreads
11 Replies
LEARN ABOUT NETBSD
munlockall
MLOCKALL(2) BSD System Calls Manual MLOCKALL(2)
NAME
mlockall, munlockall -- lock (unlock) the address space of a process
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/mman.h>
int
mlockall(int flags);
int
munlockall(void);
DESCRIPTION
The mlockall system call locks into memory the physical pages associated with the address space of a process until the address space is
unlocked, the process exits, or execs another program image.
The following flags affect the behavior of mlockall:
MCL_CURRENT Lock all pages currently mapped into the process's address space.
MCL_FUTURE Lock all pages mapped into the process's address space in the future, at the time the mapping is established. Note that this
may cause future mappings to fail if those mappings cause resource limits to be exceeded.
Since physical memory is a potentially scarce resource, processes are limited in how much they can lock down. A single process can lock the
minimum of a system-wide ``wired pages'' limit and the per-process RLIMIT_MEMLOCK resource limit.
The munlockall call unlocks any locked memory regions in the process address space. Any regions mapped after an munlockall call will not be
locked.
RETURN VALUES
A return value of 0 indicates that the call succeeded and all pages in the range have either been locked or unlocked. A return value of -1
indicates an error occurred and the locked status of all pages in the range remains unchanged. In this case, the global location errno is
set to indicate the error.
ERRORS
mlockall() will fail if:
[EINVAL] The flags argument is zero, or includes unimplemented flags.
[ENOMEM] Locking the indicated range would exceed either the system or per-process limit for locked memory.
[EAGAIN] Some or all of the memory mapped into the process's address space could not be locked when the call was made.
[EPERM] The calling process does not have the appropriate privilege to perform the requested operation.
SEE ALSO
mincore(2), mlock(2), mmap(2), munmap(2), setrlimit(2)
STANDARDS
The mlockall() and munlockall() functions conform to IEEE Std 1003.1b-1993 (``POSIX.1'').
HISTORY
The mlockall() and munlockall() functions first appeared in NetBSD 1.5.
BUGS
The per-process resource limit is a limit on the amount of virtual memory locked, while the system-wide limit is for the number of locked
physical pages. Hence a process with two distinct locked mappings of the same physical page counts as 2 pages against the per-process limit
and as only a single page in the system limit.
BSD
June 12, 1999 BSD