proc_mem fixups
This commit is contained in:
parent
e389b157f1
commit
a83dc21a87
|
@ -238,7 +238,6 @@ typedef struct {
|
||||||
int ppid;
|
int ppid;
|
||||||
int priority;
|
int priority;
|
||||||
time_t mtime;
|
time_t mtime;
|
||||||
sigar_uint64_t vsize;
|
|
||||||
sigar_uint64_t size;
|
sigar_uint64_t size;
|
||||||
sigar_uint64_t resident;
|
sigar_uint64_t resident;
|
||||||
char name[SIGAR_PROC_NAME_LEN];
|
char name[SIGAR_PROC_NAME_LEN];
|
||||||
|
|
|
@ -30,7 +30,6 @@ typedef enum {
|
||||||
#define PERF_TITLE_PAGE_FAULTS 28
|
#define PERF_TITLE_PAGE_FAULTS 28
|
||||||
#define PERF_TITLE_MEM_VSIZE 174
|
#define PERF_TITLE_MEM_VSIZE 174
|
||||||
#define PERF_TITLE_MEM_SIZE 180
|
#define PERF_TITLE_MEM_SIZE 180
|
||||||
#define PERF_TITLE_MEM_PRIV 186
|
|
||||||
#define PERF_TITLE_THREAD_CNT 680
|
#define PERF_TITLE_THREAD_CNT 680
|
||||||
#define PERF_TITLE_HANDLE_CNT 952
|
#define PERF_TITLE_HANDLE_CNT 952
|
||||||
#define PERF_TITLE_PID 784
|
#define PERF_TITLE_PID 784
|
||||||
|
@ -43,7 +42,6 @@ typedef enum {
|
||||||
PERF_IX_PAGE_FAULTS,
|
PERF_IX_PAGE_FAULTS,
|
||||||
PERF_IX_MEM_VSIZE,
|
PERF_IX_MEM_VSIZE,
|
||||||
PERF_IX_MEM_SIZE,
|
PERF_IX_MEM_SIZE,
|
||||||
PERF_IX_MEM_PRIV,
|
|
||||||
PERF_IX_THREAD_CNT,
|
PERF_IX_THREAD_CNT,
|
||||||
PERF_IX_HANDLE_CNT,
|
PERF_IX_HANDLE_CNT,
|
||||||
PERF_IX_PID,
|
PERF_IX_PID,
|
||||||
|
@ -831,6 +829,10 @@ static HANDLE open_process(sigar_pid_t pid)
|
||||||
return OpenProcess(PROCESS_DAC, 0, (DWORD)pid);
|
return OpenProcess(PROCESS_DAC, 0, (DWORD)pid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Pretty good explanation of counters:
|
||||||
|
* http://www.semack.net/wiki/default.asp?db=SemackNetWiki&o=VirtualMemory
|
||||||
|
*/
|
||||||
SIGAR_DECLARE(int) sigar_proc_mem_get(sigar_t *sigar, sigar_pid_t pid,
|
SIGAR_DECLARE(int) sigar_proc_mem_get(sigar_t *sigar, sigar_pid_t pid,
|
||||||
sigar_proc_mem_t *procmem)
|
sigar_proc_mem_t *procmem)
|
||||||
{
|
{
|
||||||
|
@ -841,15 +843,17 @@ SIGAR_DECLARE(int) sigar_proc_mem_get(sigar_t *sigar, sigar_pid_t pid,
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
procmem->vsize = pinfo->vsize;
|
procmem->size = pinfo->size; /* "Virtual Bytes" */
|
||||||
procmem->size = pinfo->size;
|
procmem->resident = pinfo->resident; /* "Working Set" */
|
||||||
procmem->resident = pinfo->resident;
|
|
||||||
procmem->share = SIGAR_FIELD_NOTIMPL;
|
procmem->share = SIGAR_FIELD_NOTIMPL;
|
||||||
procmem->rss = pinfo->resident;
|
|
||||||
procmem->page_faults = pinfo->page_faults;
|
procmem->page_faults = pinfo->page_faults;
|
||||||
procmem->minor_faults = SIGAR_FIELD_NOTIMPL;
|
procmem->minor_faults = SIGAR_FIELD_NOTIMPL;
|
||||||
procmem->major_faults = SIGAR_FIELD_NOTIMPL;
|
procmem->major_faults = SIGAR_FIELD_NOTIMPL;
|
||||||
|
|
||||||
|
/* deprecated */
|
||||||
|
procmem->vsize = pinfo->size;
|
||||||
|
procmem->rss = pinfo->resident;
|
||||||
|
|
||||||
return SIGAR_OK;
|
return SIGAR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1049,9 +1053,6 @@ static int get_proc_info(sigar_t *sigar, sigar_pid_t pid)
|
||||||
case PERF_TITLE_MEM_SIZE:
|
case PERF_TITLE_MEM_SIZE:
|
||||||
perf_offsets[PERF_IX_MEM_SIZE] = offset;
|
perf_offsets[PERF_IX_MEM_SIZE] = offset;
|
||||||
break;
|
break;
|
||||||
case PERF_TITLE_MEM_PRIV:
|
|
||||||
perf_offsets[PERF_IX_MEM_PRIV] = offset;
|
|
||||||
break;
|
|
||||||
case PERF_TITLE_THREAD_CNT:
|
case PERF_TITLE_THREAD_CNT:
|
||||||
perf_offsets[PERF_IX_THREAD_CNT] = offset;
|
perf_offsets[PERF_IX_THREAD_CNT] = offset;
|
||||||
break;
|
break;
|
||||||
|
@ -1088,9 +1089,8 @@ static int get_proc_info(sigar_t *sigar, sigar_pid_t pid)
|
||||||
SIGAR_W2A(PdhInstanceName(inst),
|
SIGAR_W2A(PdhInstanceName(inst),
|
||||||
pinfo->name, sizeof(pinfo->name));
|
pinfo->name, sizeof(pinfo->name));
|
||||||
|
|
||||||
pinfo->size = PERF_VAL(PERF_IX_MEM_SIZE);
|
pinfo->size = PERF_VAL(PERF_IX_MEM_VSIZE);
|
||||||
pinfo->vsize = PERF_VAL(PERF_IX_MEM_VSIZE);
|
pinfo->resident = PERF_VAL(PERF_IX_MEM_SIZE);
|
||||||
pinfo->resident = PERF_VAL(PERF_IX_MEM_PRIV);
|
|
||||||
pinfo->ppid = PERF_VAL(PERF_IX_PPID);
|
pinfo->ppid = PERF_VAL(PERF_IX_PPID);
|
||||||
pinfo->priority = PERF_VAL(PERF_IX_PRIORITY);
|
pinfo->priority = PERF_VAL(PERF_IX_PRIORITY);
|
||||||
pinfo->handles = PERF_VAL(PERF_IX_HANDLE_CNT);
|
pinfo->handles = PERF_VAL(PERF_IX_HANDLE_CNT);
|
||||||
|
|
Loading…
Reference in New Issue