|
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 */
|