mention -a

This commit is contained in:
albert 2002-10-09 04:28:48 +00:00
parent 4c59b4339d
commit e4d350522e
7 changed files with 29 additions and 24 deletions

View File

@ -1186,7 +1186,7 @@ static void show_procs(void)
static int first=0; static int first=0;
if (first==0) { if (first==0) {
proc_flags=PROC_FILLMEM|PROC_FILLCMD|PROC_FILLUSR|PROC_FILLSTATUS|PROC_FILLSTAT; proc_flags=PROC_FILLMEM|PROC_FILLCOM|PROC_FILLUSR|PROC_FILLSTATUS|PROC_FILLSTAT;
if (monpids_index) if (monpids_index)
proc_flags |= PROC_PID; proc_flags |= PROC_PID;
p_table=readproctab2(proc_flags, p_table, monpids); p_table=readproctab2(proc_flags, p_table, monpids);

View File

@ -409,7 +409,7 @@ do_openproc (void)
int flags = PROC_FILLANY; int flags = PROC_FILLANY;
if (opt_pattern || opt_full) if (opt_pattern || opt_full)
flags |= PROC_FILLCMD; flags |= PROC_FILLCOM;
if (opt_uid) if (opt_uid)
flags |= PROC_FILLSTATUS; flags |= PROC_FILLSTATUS;
if (opt_euid && !opt_negate) { if (opt_euid && !opt_negate) {

View File

@ -394,17 +394,17 @@ next_proc: /* get next PID for consideration */
} }
} }
if (Do(FILLCMD)) /* read+parse /proc/#/cmdline */ if (Do(FILLCOM) || Do(FILLARG)) /* read+parse /proc/#/cmdline */
p->cmdline = file2strvec(path, "cmdline"); p->cmdline = file2strvec(path, "cmdline");
else else
p->cmdline = NULL; p->cmdline = NULL;
if (Do(FILLENV)) /* read+parse /proc/#/environ */ if (Do(FILLENV)) /* read+parse /proc/#/environ */
p->environ = file2strvec(path, "environ"); p->environ = file2strvec(path, "environ");
else else
p->environ = NULL; p->environ = NULL;
if (p->state == 'Z') /* fixup cmd for zombies */ if (p->state == 'Z') /* fixup cmd for zombies */
strncat(p->cmd," <defunct>", sizeof p->cmd); strncat(p->cmd," <defunct>", sizeof p->cmd);
return p; return p;
@ -494,7 +494,7 @@ next_proc: /* get next PID for consideration */
/* }*/ /* }*/
} }
if (Do(FILLCMD)) /* read+parse /proc/#/cmdline */ if (Do(FILLCOM) || Do(FILLARG)) /* read+parse /proc/#/cmdline */
p->cmdline = file2strvec(path, "cmdline"); p->cmdline = file2strvec(path, "cmdline");
else else
p->cmdline = NULL; p->cmdline = NULL;
@ -504,7 +504,7 @@ next_proc: /* get next PID for consideration */
else else
p->environ = NULL; p->environ = NULL;
if (p->state == 'Z') /* fixup cmd for zombies */ if (p->state == 'Z') /* fixup cmd for zombies */
strncat(p->cmd," <defunct>", sizeof p->cmd); strncat(p->cmd," <defunct>", sizeof p->cmd);
return p; return p;

View File

@ -192,21 +192,22 @@ extern void freeproc(proc_t* p);
* argument is the length of the list (currently only used for lists of user * argument is the length of the list (currently only used for lists of user
* id's since unsigned short[] supports no convenient termination sentinel.) * id's since unsigned short[] supports no convenient termination sentinel.)
*/ */
#define PROC_FILLANY 0x00 /* either stat or status will do */ #define PROC_FILLMEM 0x001 /* read statm */
#define PROC_FILLMEM 0x01 /* read statm into the appropriate proc_t entries */ #define PROC_FILLENV 0x002 /* alloc and fill in `environ' */
#define PROC_FILLCMD 0x02 /* alloc and fill in `cmdline' part of proc_t */ #define PROC_FILLUSR 0x004 /* resolve user id number -> user name */
#define PROC_FILLENV 0x04 /* alloc and fill in `environ' part of proc_t */ #define PROC_FILLGRP 0x008 /* resolve group id number -> group name */
#define PROC_FILLUSR 0x08 /* resolve user id number -> user name */ #define PROC_FILLSTATUS 0x010 /* read status -- currently unconditional */
#define PROC_FILLGRP 0x10 /* resolve group id number -> group name */ #define PROC_FILLSTAT 0x020 /* read stat -- currently unconditional */
#define PROC_FILLSTATUS 0x20 #define PROC_FILLWCHAN 0x040 /* look up WCHAN name */
#define PROC_FILLSTAT 0x40 #define PROC_FILLCOM 0x080 /* alloc and fill in `cmdline' */
#define PROC_FILLWCHAN 0x80 #define PROC_FILLARG 0x100 /* alloc and fill in `cmdline' */
#define PROC_FILLBUG 0xff /* No idea what we need */
#define PROC_FILLBUG ~0 /* No idea what we need */
#define PROC_FILLANY 0x00 /* either stat or status will do */
/* Obsolete, consider only processes with one of the passed: */ /* Obsolete, consider only processes with one of the passed: */
#define PROC_PID 0x0100 /* process id numbers ( 0 terminated) */ #define PROC_PID 0x1000 /* process id numbers ( 0 terminated) */
#define PROC_TTY 0x0200 /* ctty device nos. ( 0 terminated) */ #define PROC_TTY 0x2000 /* ctty device nos. ( 0 terminated) */
#define PROC_UID 0x0400 /* user id numbers ( length needed ) */ #define PROC_UID 0x4000 /* user id numbers ( length needed ) */
#endif #endif

2
top.c
View File

@ -857,7 +857,7 @@ static proc_t **refreshprocs (proc_t **tbl)
{ {
#define PTRsz sizeof(proc_t *) /* eyeball candy */ #define PTRsz sizeof(proc_t *) /* eyeball candy */
#define ENTsz sizeof(proc_t) #define ENTsz sizeof(proc_t)
static int flags = PROC_FILLMEM | PROC_FILLCMD | PROC_FILLUSR static int flags = PROC_FILLMEM | PROC_FILLCOM | PROC_FILLUSR
| PROC_FILLGRP | PROC_FILLSTATUS | PROC_FILLSTAT; | PROC_FILLGRP | PROC_FILLSTATUS | PROC_FILLSTAT;
static unsigned savmax = 0; /* first time, Bypass: (i) */ static unsigned savmax = 0; /* first time, Bypass: (i) */
proc_t *ptsk = (proc_t *)-1; /* first time, Force: (ii) */ proc_t *ptsk = (proc_t *)-1; /* first time, Force: (ii) */

View File

@ -6,10 +6,12 @@ vmstat \- Report virtual memory statistics
.SH SYNOPSIS .SH SYNOPSIS
.ft B .ft B
.B vmstat .B vmstat
.RB [ "\-a" ]
.RB [ "\-n" ] .RB [ "\-n" ]
.RI [ delay " [ " count ]] .RI [ delay " [ " count ]]
.br .br
.BR vmstat [ "\-V" ] .B vmstat
.RB [ "\-V" ]
.SH DESCRIPTION .SH DESCRIPTION
\fBvmstat\fP reports information about processes, memory, paging, \fBvmstat\fP reports information about processes, memory, paging,
block IO, traps, and cpu activity. block IO, traps, and cpu activity.
@ -19,7 +21,9 @@ reports give information on a sampling period of length \fIdelay\fP.
The process and memory reports are instantaneous in either case. The process and memory reports are instantaneous in either case.
.SS Options .SS Options
The \fB-n\fP switch causes the header to be displayed only once rather than periodically. The \fB-a\fP switch displays active/inactive memory, given a 2.5.41 kernel or better.
.PP
The \fB-n\fP switch causes the header to be displayed only once rather than periodically.
.PP .PP
.I delay .I delay
is the delay between updates in seconds. If no delay is specified, is the delay between updates in seconds. If no delay is specified,

2
w.c
View File

@ -271,7 +271,7 @@ int main(int argc, char **argv) {
if (maxcmd < 3) if (maxcmd < 3)
fprintf(stderr, "warning: screen width %d suboptimal.\n", win.ws_col); fprintf(stderr, "warning: screen width %d suboptimal.\n", win.ws_col);
procs = readproctab(PROC_FILLCMD | PROC_FILLUSR); procs = readproctab(PROC_FILLCOM | PROC_FILLUSR);
if (header) { /* print uptime and headers */ if (header) { /* print uptime and headers */
print_uptime(); print_uptime();