Commit Graph

188 Commits

Author SHA1 Message Date
nonaka 0827467dac Don't forget original allocated memory address. 2005-10-22 15:32:48 +00:00
chs 9c47d944e4 optimize pool_caches similarly to how I optimized pools before:
split the single list of pool cache groups into three lists:
completely full, partially full, and completely empty.
use LIST instead of TAILQ where appropriate.
2005-10-02 17:29:31 +00:00
blymn 71c77b437a Add support for tape statistics. 2005-08-07 12:23:20 +00:00
lukem 829384f829 appease gcc -Wuninitialized 2005-06-02 04:34:57 +00:00
chs 3f15e64c3c rename "kbucket" to "kmembuckets", for greater clarity.
don't forget to update vmstat this time.
2005-05-30 23:04:53 +00:00
chs d5b80101e7 do not rely on the pre-evcnt interrupt counter kernel symbols being present.
if they do not exist, then interrupt stats are all in evcnts.
2005-05-22 14:00:59 +00:00
yamt 627b0d5099 remove anon related statistics which are no longer used. 2005-05-15 08:01:06 +00:00
wiz 96b620b365 Add -t to usage. 2005-03-10 16:28:54 +00:00
he 5f8555bc7c Add a '-t' option to print the contents of the vmtotal structure,
possibly repeatedly.
2005-03-10 16:23:42 +00:00
dsl 2229b6a79b WARNS=3 2005-02-26 21:19:18 +00:00
simonb f14df71842 Remove a blank line. 2005-01-30 23:38:17 +00:00
wiz 15f1332a67 Sync with manpage (add -W, sort). 2005-01-26 13:42:07 +00:00
simonb 048c86fdf0 Add a "wide" mode output (selected with -W) to show more information
about memory pools, including pool page size, flags and utilisation.
2005-01-26 13:07:32 +00:00
dsainty 555352630f Correct typo in an error message: allocatior -> allocator 2004-12-20 08:20:50 +00:00
dsl 0e378e4772 Add (unsigned char) cast to ctype functions 2004-11-05 19:56:34 +00:00
enami 226c6eda62 Make vmstat -s prints:
- uvmexp.pdre{anon,file,exec}.
- real number of namecache stats.
2004-10-15 21:29:03 +00:00
junyoung 85b95abd1e pidhash and pgrphash should have been removed from here as well when the
new pid allocator was committed 3/2003.
2004-02-28 05:14:55 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
dbj 6ea7ce87e3 fixes to keep default output under 80 columns
reduce default number of disks to 3 from 4
adjust widths of cpu stats if one of them is 100%
always put spaces between # of processes runnable (from pr 12691)
2004-01-22 21:47:55 +00:00
simonb e74fba6f88 Extra columns appeared in one line of the "Memory statistics by type"
header in '94 and '97.  Grow the other line a little so that it looks
pretty again.
2003-09-28 23:31:48 +00:00
itojun 407df6861c realloc pedant 2003-09-19 07:08:50 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
itojun 0cd65be2b9 snprintf 2003-07-15 05:52:48 +00:00
simonb c595e9c78e No need to cast the third argument of ioctl() to "char *". 2003-07-02 12:47:00 +00:00
drochner 96b62d8a69 no need to #include <sys/dkstat.h> 2003-06-11 17:26:31 +00:00
dsl 615387287b Make vmstat -m skip memory pools that have never been used - unless -v given.
Update man page to match.
2003-05-06 10:10:11 +00:00
thorpej 744fb366d9 Update for cached physical addresses in the pool caches. 2003-04-09 19:02:29 +00:00
dsl 9be8ac5294 Alternative pid/proc allocater, removes all searches associated with pid
lookup and allocation, and any dependency on NPROC or MAXUSERS.
NO_PID changed to -1 (and renamed NO_PGID) to remove artificial limit
on PID_MAX.
As discussed on tech-kern.
2003-03-19 11:36:32 +00:00
matt 2954b3d5d7 The last NULL entry should not be printed on missing symbols. 2003-02-01 20:52:58 +00:00
thorpej c9b2749b7c Update for extensible malloc types. 2003-02-01 06:29:14 +00:00
atatat 88df2c4818 The -u option takes an argument, so we need the corresponding : in the
getopt() string.  Does no one use uvm histories any more, or does
everyone just dump all the histories?
2002-12-12 20:03:32 +00:00
simonb 7a17e24ac5 Remove pc532-only hacks to access wildly different interrupt accounting
now that interrupts are tracked with evcnt(9) on this port.
2002-11-22 13:30:34 +00:00
simonb ecf6315bd0 Include <machine/intr.h> to get "struct iv" (in pc532-specific code). 2002-11-21 01:39:15 +00:00
nathanw 7ec345ff22 In getuptime(), use kread() to get the current time as well as boottime,
instead of calling time(3).

This makes rate calculations of crash dumps sensible; in contrast,
subtracting the boot time of the crash dump from the current time of the
running system produces a not-very-meaningful number.
2002-11-18 03:17:24 +00:00
mrg 3cf4c73d05 iostat(8) and systat(8) support for separate read/write disk statistics.
"iostat -x" now shows these (ala linux/solaris), but this is only splitting
the read/write bytes/transactions, not adding any new metrics.  "systat
iostat" now has two new commands to switch between combined/separate mode
for both it's numbers & bar modes.
2002-11-01 12:47:55 +00:00
mycroft e653ca9e0b sleep() -> nanosleep() 2002-09-18 23:24:13 +00:00
soren 84dd3a42b4 Print newline before pool stats. 2002-08-10 19:08:41 +00:00
sommerfeld f80c7eebd7 Since the KERN_CP_TIME sysctl reports total clock ticks across all
cpus and hz is measured in ticks per cpu, divide tick count by ncpu to
determine elapsed time since last sample.

Fixes I/O rate deflation observed on multiprocessors.
2002-06-30 00:10:33 +00:00
simonb f49b148a2f Don't provide a local declaration of 'struct pool_cache_group' now that
it's in <sys/pool.h>.
2002-03-13 11:02:11 +00:00
enami 4df736987c Fix broken indentation. 2002-03-11 15:29:22 +00:00
christos 9a6801b5cd fix pool_allocator fallout. bad boy jason! 2002-03-10 01:48:25 +00:00
enami 2c0bf8440e Don't forget to fetch pool cache group. 2002-02-20 07:52:43 +00:00
enami 6af26372f1 When printing pool stats, print pool cache stats also if -v is given. 2002-02-20 07:43:30 +00:00
simonb 0f944ef22b Use the new disk and tty stats sysctls when operating on a live kernel,
dk*() don't need to worry about setgid() games anymore.
2002-01-28 02:15:15 +00:00
chs 8e9cdbbd63 replace "vnode" and "vtext" with "file" and "exec" in uvmexp field names. 2001-12-09 03:07:43 +00:00
lukem 379a7b9d91 print average chain length as %8.2f instead of %8d 2001-12-06 03:48:56 +00:00
thorpej 235d97a465 KERNBASE is a constant that kernland has no business using; it's
existence and value are machine-dependent, and using KERNBASE
either breaks binary compatibility across the same MACHINE_ARCH
or prevents this program from compiling at all.
2001-11-29 21:22:25 +00:00
jmc 96316bebb6 Cast the printf'ing of the 2 size_t vars in dohashstat to unsigned long long as
some ports have size_t's which are larger than int's.
2001-11-26 21:04:49 +00:00
lukem 31c1ed8952 - Separate hashstat namelist into separate hashnl[], and don't barf if
some of the symbols can't be found
- Only kvm_nlist() hashnl[] and histnl[] once
- Add a description to struct kernel_hash, and print with -L
- Sort entries in khashes[]
- Don't exit on unknown hashes; just display a warning and move on
2001-11-26 14:06:31 +00:00
lukem ef4781fc59 add stats for nchash & ncvhash 2001-11-26 10:38:59 +00:00
lukem ff1761be8e - Use -H (instead of -h) to list all hash stats.
- Add '-h hashname' to only list the stats for hashname.
- Add -L to list valid hashes
- Fix up some whitespace
2001-11-26 10:18:08 +00:00
lukem 9ba7f648bb - replace -h uvmhist with -u uvmhist, and -H with -U, since uvm history stuff
isn't generally enabled by default, and i wanted -h for something else.
- implement -h, which displays statistics for various kernel hash tables
- add deref_kptr(), which does the hard work of kvm_read() et al
- various minor cleanups
2001-11-26 07:40:01 +00:00
enami 31b84bf30a Check array boundary correctly. 2001-11-21 00:40:56 +00:00
enami 5413315441 Print evcnt/intrcnt as unsigned. 2001-11-21 00:38:50 +00:00
bjh21 7a29a41680 When summarizing pool memory usage, account for PR_RECURSIVE pools
specially so as to avoid counting the same memory twice.
2001-10-07 12:50:54 +00:00
matt 531338f3ce Adjust vmstat -i / -e for wider event names 2001-08-26 02:50:37 +00:00
lukem 4e8c51f7aa when printing "avm fre" fields, use " %5ld %5ld " instead of "%6ld%6ld ",
because it's better to slightly right-shift the display than run numbers
together when you've got > 99999KB avm or fre.
2001-06-13 08:18:30 +00:00
thorpej e0d3747f72 Move the number of page colors to the top of the display. 2001-05-02 01:26:04 +00:00
thorpej 01e2971ba2 Add the number of page colors to uvmexp. 2001-05-01 19:36:56 +00:00
thorpej a553aade18 Print print color bucket hit/miss stats. 2001-04-29 05:56:47 +00:00
jhawk 350c31eeb0 Make -c and -w work properly when printing non-default statistics. 2001-04-05 20:04:03 +00:00
simonb 21425f4507 Show number of pages used by executables now that they're are counted
by UVM.
2001-03-09 02:42:23 +00:00
enami 0a3cd3740b Prevent integer overflow. 2001-01-27 11:10:18 +00:00
enami 1afed7103d Cosmetic changes. 2001-01-27 11:08:23 +00:00
simonb 198d7bfbee Don't "extern" variables and function in dkstats.c, declare them in
dkstats.h instead.
2000-12-01 02:08:26 +00:00
simonb 80bd9216d2 ANSIfy. 2000-11-30 23:59:03 +00:00
simonb f982391188 Use a better description for the vnode page cache pages. 2000-11-30 12:02:19 +00:00
simonb 21abd388e9 Show anonpages and vnodepages in "vmstat -s". 2000-11-30 11:50:15 +00:00
sommerfeld e970dc32cd Move cpu header right 3 spaces to match grouping in man page 2000-09-28 14:56:52 +00:00
enami f676ab58c4 Make vmstat -m to put at least one space between each numbers. 2000-09-23 00:39:19 +00:00
thorpej c938e2e7cd Display number of zero page aborts. 2000-09-21 22:38:28 +00:00
mrg 8d4795719a remove include of <vm/vm.h> 2000-06-29 06:26:33 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
itojun 872ae35bf5 cp_time is no longer available in the kernel.
remove it from namelist[] to make vmstat work.
2000-06-04 08:07:36 +00:00
perry 0da76771e9 include sys/sched.h to get definition of CPUSTATES 2000-06-04 02:25:40 +00:00
thorpej bb06f77483 Print the zero page statistics. 2000-04-24 17:40:31 +00:00
simonb d88dfea295 Don't declare 'extern opt*' getopt variables. 2000-04-14 06:11:07 +00:00
kleink a3c6c197a2 Cast timeval members to types we know the printf conversions of. 2000-03-27 17:03:25 +00:00
fredb 2cfe71bc9a More fallout from CL* purge. 1999-12-05 18:54:34 +00:00
soren 6df42c85a5 Make pool output fit in 80 columns on most machines. 1999-11-02 06:23:50 +00:00
thorpej 0bd35e4157 This program has to use KVM alrady, so use that to read uvmexp, rather
than sysctl.  This can now read VM stats from crash dumps.
1999-10-30 22:49:58 +00:00
thorpej ed8849cd5a Define __POOL_EXPOSE to get at the guts of the pool descriptor. 1999-03-31 23:25:46 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
kleink b75d68301e <sys/fcntl.h> -> <fcntl.h> 1999-02-12 15:04:00 +00:00
thorpej 04767647ca Nuke all mentions of vmstat -t. PR #6433, Geoff Wing. 1999-01-11 23:03:06 +00:00
perry bfd526219d bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-10 02:57:23 +00:00
thorpej 10be977794 Display the number of idle pages per pool. 1998-08-01 23:45:05 +00:00
pk c84a4e8823 Print memory pool statistics. 1998-07-27 10:26:11 +00:00
mycroft 0c4d98ae35 const poisoning. 1998-07-26 17:53:10 +00:00
drochner b2058e2f38 Fix handling of privileges - the gid was given up before dkinit()
was called.
Pass the gid to use for KVM access explicitely to dkinit(), the caller
decides whether to call setgid(getgid()) or not.
1998-07-19 17:47:07 +00:00
mrg 80efe80bc9 - change setgid kmem programs (that lend themselves to this) so setegid(getgid())
and the top, and then set the effective gid back to kmem around the call to
  kvm_openfiles().  this reduces the time group kmem is available.
- for those above that also allow this, setgid(getgid()) after the call to
  kvm_openfiles() to fully revoke priviledges.
- some KNF
- use err(3) over fprintf(3) in some places
1998-07-06 07:50:18 +00:00
mrg 5dfbe405c5 KNF. 1998-07-05 08:02:34 +00:00
mrg 4c67898a4f use the uvmexp.pageins member for "pi". 1998-03-05 02:47:05 +00:00
thorpej 2ca4a3f1c2 Add support for listing and dumping UVM history buffers. 1998-02-13 05:10:32 +00:00
mrg 4e8c1720a8 print almost all of uvmexp with -s. do pagein/pageout counts correctly.
also include freed pages count (that was missing from mach vm, but present
in the "output" but hard coded to 0 in vmstat.c.
1998-02-09 13:11:26 +00:00
mrg 52bb2f5ba0 print out the contents of uvmexp for "vmstat -s" 1998-02-07 16:50:59 +00:00
mrg 3ff646f56e flesh out standard vmstat output with UVM. 1998-02-07 16:18:14 +00:00
mrg a705b928fd GC old old old "NEWVM". make run under UVM, if not report everything yet.. 1998-02-07 15:42:32 +00:00
thorpej faa8ffb044 Revive the -f option: report fork statistics. 1998-01-04 03:59:04 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00