Commit Graph

325 Commits

Author SHA1 Message Date
Hajimu UMEMOTO
511912ad5c teach IPv6 to `systat -netstat'.
Tested by:	kuriyama
MFC after:	1 week
2005-02-19 15:10:19 +00:00
Ruslan Ermilov
6c7216df78 Sort sections. 2005-01-18 13:43:56 +00:00
Stefan Farfeleder
5908d366fb Consistently use __inline instead of __inline__ as the former is an empty macro
in <sys/cdefs.h> for compilers without support for inline.
2004-07-04 16:11:03 +00:00
Ruslan Ermilov
557b7fa148 Deal with double whitespace. 2004-07-03 00:24:45 +00:00
Ruslan Ermilov
6a3e8b0adc Mechanically kill hard sentence breaks. 2004-07-02 22:22:35 +00:00
Ruslan Ermilov
d37ea99837 Removed trailing whitespace. 2004-07-02 19:07:33 +00:00
Bosko Milekic
099a0e588c Bring in mbuma to replace mballoc.
mbuma is an Mbuf & Cluster allocator built on top of a number of
extensions to the UMA framework, all included herein.

Extensions to UMA worth noting:
  - Better layering between slab <-> zone caches; introduce
    Keg structure which splits off slab cache away from the
    zone structure and allows multiple zones to be stacked
    on top of a single Keg (single type of slab cache);
    perhaps we should look into defining a subset API on
    top of the Keg for special use by malloc(9),
    for example.
  - UMA_ZONE_REFCNT zones can now be added, and reference
    counters automagically allocated for them within the end
    of the associated slab structures.  uma_find_refcnt()
    does a kextract to fetch the slab struct reference from
    the underlying page, and lookup the corresponding refcnt.

mbuma things worth noting:
  - integrates mbuf & cluster allocations with extended UMA
    and provides caches for commonly-allocated items; defines
    several zones (two primary, one secondary) and two kegs.
  - change up certain code paths that always used to do:
    m_get() + m_clget() to instead just use m_getcl() and
    try to take advantage of the newly defined secondary
    Packet zone.
  - netstat(1) and systat(1) quickly hacked up to do basic
    stat reporting but additional stats work needs to be
    done once some other details within UMA have been taken
    care of and it becomes clearer to how stats will work
    within the modified framework.

From the user perspective, one implication is that the
NMBCLUSTERS compile-time option is no longer used.  The
maximum number of clusters is still capped off according
to maxusers, but it can be made unlimited by setting
the kern.ipc.nmbclusters boot-time tunable to zero.
Work should be done to write an appropriate sysctl
handler allowing dynamic tuning of kern.ipc.nmbclusters
at runtime.

Additional things worth noting/known issues (READ):
   - One report of 'ips' (ServeRAID) driver acting really
     slow in conjunction with mbuma.  Need more data.
     Latest report is that ips is equally sucking with
     and without mbuma.
   - Giant leak in NFS code sometimes occurs, can't
     reproduce but currently analyzing; brueffer is
     able to reproduce but THIS IS NOT an mbuma-specific
     problem and currently occurs even WITHOUT mbuma.
   - Issues in network locking: there is at least one
     code path in the rip code where one or more locks
     are acquired and we end up in m_prepend() with
     M_WAITOK, which causes WITNESS to whine from within
     UMA.  Current temporary solution: force all UMA
     allocations to be M_NOWAIT from within UMA for now
     to avoid deadlocks unless WITNESS is defined and we
     can determine with certainty that we're not holding
     any locks when we're M_WAITOK.
   - I've seen at least one weird socketbuffer empty-but-
     mbuf-still-attached panic.  I don't believe this
     to be related to mbuma but please keep your eyes
     open, turn on debugging, and capture crash dumps.

This change removes more code than it adds.

A paper is available detailing the change and considering
various performance issues, it was presented at BSDCan2004:
http://www.unixdaemons.com/~bmilekic/netbuf_bmilekic.pdf
Please read the paper for Future Work and implementation
details, as well as credits.

Testing and Debugging:
    rwatson,
    brueffer,
    Ketrien I. Saihr-Kesenchedra,
    ...
Reviewed by: Lots of people (for different parts)
2004-05-31 21:46:06 +00:00
Bruce Evans
a1541efa63 Include <sys/proc.h> for the definition of PS_INMEM instead of
depending on namespace pollution in <sys/user.h>.

Reduced nearby include messes.
2004-04-14 09:01:56 +00:00
David Malone
33dc549136 Fix the easy warnings:
1) Avoid shadowing index.
2) Constness.
3) Missing prototype for ifcmd.
4) Missing include of string.h.
5) Avoid shadowing error function.
6) ANSI definition for main.
2004-03-09 11:57:28 +00:00
Bruce Evans
7501cdc8e5 Demangled vendor ids. Fixed misplaced FreeBSD id. 2004-02-25 13:26:53 +00:00
Bruce Evans
5dfef63412 Backed out rev.1.6. A bogus include was added to work around breakage of
<netinet/tcp_var.h>'s prerequisites.  Prerequistes should not grow for
userland headers, and <netinet/tcp_var.h> is unfortunately still needed
in userland.
2004-02-25 13:11:48 +00:00
Ruslan Ermilov
80c49332e2 Put libdevstat before libkvm, because the former depends on the latter. 2004-02-04 10:20:43 +00:00
Mike Silbersack
ba2bc772d1 Make systat -net aware of compressed time_wait sockets. 2003-12-24 08:54:53 +00:00
Tim J. Robbins
d980da6c66 Copy cur's snap_time to last when refreshing statistics. Fixes problem
where MB/s and tps statistics would always be zero, presumably because
they were being averaged out over the time between now and when the
system booted instead of a few seconds.

PR:		58683
2003-11-01 02:06:02 +00:00
Poul-Henning Kamp
84b4ac514e Use 'k' as suffix for Kilo
Pointed out by:	several.
2003-10-24 21:23:47 +00:00
Poul-Henning Kamp
f46a0535ef When a numeric field overflows its width, try formatting the number in
'kilo' or 'mega' with appropriate suffix instead of filling the field
with stars.
2003-10-20 20:13:50 +00:00
David Malone
f29d8c1abe Add ip6 and icmp6 displays to systat.
MFC after:	2 weeks
2003-08-01 20:28:20 +00:00
Poul-Henning Kamp
1e3f260a6b Let libdevstat calculate the device-busy % instead of home-rolling. 2003-04-09 07:49:43 +00:00
Poul-Henning Kamp
7194d335cf Run a revision of the devstat interface:
Kernel:

Change statistics to use the *uptime() timescale (ie: relative to
boottime) rather than the UTC aligned timescale.  This makes the
device statistics code oblivious to clock steps.

Change timestamps to bintime format, they are cheaper.

Remove the "busy_count", and replace it with two counter fields:
"start_count" and "end_count", which are updated in the down and
up paths respectively.  This removes the locking constraint on
devstat.

Add a timestamp argument to devstat_start_transaction(), this will
normally be a timestamp set by the *_bio() function in bp->bio_t0.
Use this field to calculate duration of I/O operations.

Add two timestamp arguments to devstat_end_transaction(), one is
the current time, a NULL pointer means "take timestamp yourself",
the other is the timestamp of when this transaction started (see
above).

Change calculation of busy_time to operate on "the salami principle":
Only when we are idle, which we can determine by the start+end
counts being identical, do we update the "busy_from" field in the
down path.  In the up path we accumulate the timeslice in busy_time
and update busy_from.

Change the byte_* and num_* fields into two arrays: bytes[] and
operations[].

Userland:

Change the misleading "busy_time" name to be called "snap_time" and
make the time long double since that is what most users need anyway,
fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same
timescale as the kernel fields.

Change devstat_compute_etime() to operate on struct bintime.

Remove the version 2 legacy interface: the change to bintime makes
compatibility far too expensive.

Fix a bug in systat's "vm" page where boot relative busy times would
be bogus.

Bump __FreeBSD_version to 500107

Review & Collaboration by:	ken
2003-03-15 21:59:06 +00:00
Ruslan Ermilov
ace5be682d mdoc(7) police: Scheduled sweep. 2003-02-24 22:53:26 +00:00
Poul-Henning Kamp
3bd41074f4 Add #include <sys/resource.h> 2003-02-16 15:46:25 +00:00
Poul-Henning Kamp
f341ca9891 Remove #include <sys/dkstat.h> 2003-02-16 14:13:23 +00:00
Matthew Dillon
f7550ecf3f Make 'sysctl vm.vmtotal' work properly using updated patch from Hiten.
(the patch in the PR was stale).

PR:             kern/5689
Submitted by:   Hiten Pandya <hiten@unixdaemons.com>
2003-01-11 07:29:47 +00:00
Poul-Henning Kamp
b59ba7df87 Add "ifstat" display:
ifstat      Display the network traffic going through active interfaces
                 on the system.  Idle interfaces will not be displayed until
                 they receive some traffic.

                 For each interface being displayed, the current, peak and
                 total statistics are displayed for incoming and outgoing
                 traffic.  By default, the ifstat display will automatically
                 scale the units being used so that they are in a human-read-
                 able format.  The scaling units used for the current and peak
                 traffic columns can be altered by the scale command.

Submitted by:	Trent Nelson <trent@arpa.com>
2003-01-04 22:07:24 +00:00
Poul-Henning Kamp
319e2a24de When we close a display, mark it as not-initialized so that we will
properly open it again next time.

Submitted by:	Trent Nelson <trent@arpa.com>
2003-01-04 21:58:25 +00:00
Mike Barcroft
3c392172d7 Back out rev 1.20; getbsize(3)'s original interface has been restored.
Approved by:	markm
2002-12-30 18:14:43 +00:00
Jens Schweikhardt
57bd0fc6e8 english(4) police. 2002-12-27 12:15:40 +00:00
Mark Murray
a09114536e Adjust for getbsize argument type change. 2002-10-23 19:02:17 +00:00
Mark Murray
4b51efd2b3 Remove unneeded function prototypes. 2002-10-23 16:20:12 +00:00
John Polstra
f824b5187e Widen struct sockbuf's sb_timeo member to int from short. With
non-default but reasonable values of hz this member overflowed,
breaking NFS over UDP.

Also, as long as I'm plowing up struct sockbuf ... Change certain
members from u_long/long to u_int/int in order to reduce wasted
space on 64-bit machines.  This change was requested by Andrew
Gallatin.

Netstat and systat need to be rebuilt.  I am incrementing
__FreeBSD_version in case any ports need to change.
2002-07-24 03:02:43 +00:00
Giorgos Keramidas
3fbfa86b4c ^Z suspends any and all programs that don't do anything special about
it.  There's really no reason to explicitly mention it here.

Suggested by:	Mark Valentine <mark@thuvia.demon.co.uk>
2002-07-15 05:54:35 +00:00
Giorgos Keramidas
c7a5e9a0a2 ^Z doesn't "stop" systat, but it "suspends" it.
PR:		docs/40489
Submitted by:	Dave McCammon <davemac11@yahoo.com>
2002-07-15 01:53:29 +00:00
Dag-Erling Smørgrav
a5426997a3 debug.{numvnodes,freevnodes} moved to vfs. 2002-06-06 23:01:50 +00:00
Josef Karthauser
1063e12617 Replace /kernel with /boot/kernel/kernel.
PR:		docs/37757
Submitted by:	Hiten Pandya <hiten@uk.FreeBSD.org>
2002-05-09 11:47:42 +00:00
Philippe Charnier
e8937ba009 Use `The .Nm utility' 2002-04-20 12:18:28 +00:00
David Malone
72c7c2e625 Remove previously unneeded and now incorrect cast of user_from_uid()
to a char *.
Fix up vendor ID.
2002-04-13 21:09:55 +00:00
Warner Losh
bbf5c743d2 unifdef __STDC__ 2002-03-23 23:37:07 +00:00
Warner Losh
3f330d7d1a remove __P 2002-03-22 01:42:45 +00:00
Mark Murray
e35f9517d6 Remove NO_WERRORs and WARNS=n's. To be revisited after GCC3. 2002-02-08 23:07:37 +00:00
Mark Murray
9ff712b0f5 WARNS=2 fixes with NO_WERROR set, as there are some header issues
with namelists. use __FBSDID().
2001-12-12 00:13:37 +00:00
Mark Murray
4b0ef38df3 Remove the 'irq' string from the irqN part of the "interrupts" display.
This allows us to see the irq number when device names ate too long.
2001-12-01 17:41:37 +00:00
Jonathan Lemon
5b7d36ba0f Add #include <net/route.h> in order to get this to compile.
Spotted by: David Wolfskill
Forgotten by: me
2001-11-22 17:19:52 +00:00
Bruce Evans
6eabd84580 Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
Maxim Sobolev
3ff9006c71 Remove greatly outdated comment that systat(1) takes 2-10% of the CPU time.
This isn't true nowadays.
2001-10-09 16:07:32 +00:00
Bosko Milekic
70a61707f6 Re-enable mbtypes statistics in the mbuf allocator. I disabled these
when I changed the allocator bits. This implements per-CPU mbtypes
stats by keeping net number of decrements/increments of a given mbtype
per-CPU and then summing all of the per-CPU mbtypes to produce the total
net number of allocated mbufs of the given mbtype.
Counters are carefully balanced to avoid/prevent underflows/overflows.

mbtypes stats are re-enabled with the idea that we may occasionally
(although very rarely) observe slight inconsistencies in the stat
reporting. Most of the time, we should be fine, though.

Also make appropriate modifications to netstat(1) and systat(1) to do
the necessary reporting.

Submitted by: Jiangyi Liu <jyliu@163.net>
2001-09-30 01:58:39 +00:00
Kenneth D. Merry
8f29de8be3 Convert systat(1) to use the new devstat interface.
Submitted by:	"Sergey A. Osokin" <osa@freebsd.org.ru>
2001-09-06 04:06:12 +00:00
Bosko Milekic
49f854f926 - Do not handle the per-CPU containers in mbuf code as though the cpuids
were indices in a dense array. The cpuids are a sparse set and treat
  them as such, setting up containers only for CPUs activated during
  mb_init().

- Fix netstat(1) and systat(1) to treat the per-CPU stats area as a sparse
  map, in accordance with the above.

This allows us to properly boot with certain CPUs disactivated. However, if
we later decide to re-activate said CPUs, we will barf until we decide to
implement CPU spinon/spinoff callback hooks to allow for said CPUs' per-CPU
containers to get configured on their activation.

Reported by: mjacob
Partially (sys/ diffs) Submitted by: mjacob
2001-07-26 18:47:46 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Ruslan Ermilov
625003720a mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 14:16:33 +00:00
Ruslan Ermilov
5521ff5a4d mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00
Bosko Milekic
4edec6b79a Make sure to try hw.ncpu if kern.smp.cpus doesn't exist (i.e. on UP) when
getting number of CPUs.
2001-06-23 17:03:27 +00:00
Bosko Milekic
08442f8a82 Introduce numerous SMP friendly changes to the mbuf allocator. Namely,
introduce a modified allocation mechanism for mbufs and mbuf clusters; one
which can scale under SMP and which offers the possibility of resource
reclamation to be implemented in the future. Notable advantages:

 o Reduce contention for SMP by offering per-CPU pools and locks.
 o Better use of data cache due to per-CPU pools.
 o Much less code cache pollution due to excessively large allocation macros.
 o Framework for `grouping' objects from same page together so as to be able
   to possibly free wired-down pages back to the system if they are no longer
   needed by the network stacks.

 Additional things changed with this addition:

  - Moved some mbuf specific declarations and initializations from
    sys/conf/param.c into mbuf-specific code where they belong.
  - m_getclr() has been renamed to m_get_clrd() because the old name is really
    confusing. m_getclr() HAS been preserved though and is defined to the new
    name. No tree sweep has been done "to change the interface," as the old
    name will continue to be supported and is not depracated. The change was
    merely done because m_getclr() sounds too much like "m_get a cluster."
  - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and
    systat(1) (see TODO below).
  - Fixed systat(1) to display number of "free mbufs" based on new per-CPU
    stat structures.
  - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported
    per-CPU stat structures. All infos are fetched via sysctl.

 TODO (in order of priority):

  - Re-enable mbtypes statistics in both netstat(1) and systat(1) after
    introducing an SMP friendly way to collect the mbtypes stats under the
    already introduced per-CPU locks (i.e. hopefully don't use atomic() - it
    seems too costly for a mere stat update, especially when other locks are
    already present).
  - Optionally have systat(1) display not only "total free mbufs" but also
    "total free mbufs per CPU pool."
  - Fix minor length-fetching issues in netstat(1) related to recently
    re-enabled option to read mbuf stats from a core file.
  - Move reference counters at least for mbuf clusters into an unused portion
    of the cluster itself, to save space and need to allocate a counter.
  - Look into introducing resource freeing possibly from a kproc.

Reviewed by (in parts): jlemon, jake, silby, terry
Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha)
Preliminary performance measurements: jlemon (and me, obviously)
URL: http://people.freebsd.org/~bmilekic/mb_alloc/
2001-06-22 06:35:32 +00:00
Thomas Moestl
d62de5c4bb Replace a use of the hw.nintr sysctl as it has just gone away, cast
size_t variables when passing them to a printf-like function, and some
minor cleanups.
2001-06-01 13:29:19 +00:00
Ruslan Ermilov
18fbb861ab Display -tcp w/o load average so that all statistics fits on a 80x25 screen. 2001-05-31 07:14:52 +00:00
Ruslan Ermilov
7bbf75ec4f Show TCP checksum failures with -tcp display.
PR:		bin/27786
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2001-05-31 07:08:49 +00:00
Kris Kennaway
096c40e3f3 Mark error() as __printflike() and fix a non-exploitable format string
error.

MFC after:	1 week
2001-05-25 23:15:05 +00:00
Thomas Moestl
5a3c3d039a Fix the error buffer passed to kvm_openfiles to have a length of
_POSIX2_LINE_MAX as required.
While being there, wrap an overly long line.

MFC after:	3 days
2001-05-25 23:10:27 +00:00
Ruslan Ermilov
3ab9a9d0e0 Removed -I${.CURDIR}/.../sys from CFLAGS. 2001-05-18 13:41:42 +00:00
Mark Murray
6e547eabb8 Compensate for header dethreading. 2001-05-01 08:46:02 +00:00
Andrew Gallatin
0b8b714fa9 numdirtybuffers is an int, not a long. 2001-03-29 02:18:19 +00:00
Thomas Moestl
342e2faa09 Get rid of setgid kmem for systat, and while being there, fix some bugs
and compiler warnings.
The data for network statistics are still obtained via the kvm interface
if systat was started with the needed privileges, otherwise sysctls are
used. The reason for this is that with really many open sockets, the
sysctl method is probably slower, but it systat -netstat is probably not
really usable in either mode under these conditions.

Approved by:	rwatson
2001-03-23 03:58:25 +00:00
Andrey A. Chernov
6ab831378a Don't attempt to parse %c 2001-03-21 20:32:20 +00:00
Ruslan Ermilov
fb9aaba000 Count and show incoming UDP datagrams with no checksum. 2001-03-13 13:26:06 +00:00
Ruslan Ermilov
d0353b836e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
John Baldwin
ad7b044802 Catch up to new proc flags. 2001-01-24 14:03:34 +00:00
Poul-Henning Kamp
1009e5708d My bad, committed the submitted patch rather than the fixed patch. 2000-12-30 21:56:18 +00:00
Poul-Henning Kamp
539d2b38e2 Use macro API to <sys/queue.h>
Submitted by:	"Jason" <jsmethers@pdq.net>
Reviewed by:	phk
2000-12-30 21:17:03 +00:00
Ruslan Ermilov
9b88faecd3 Prepare for mdoc(7)NG. 2000-12-19 16:00:12 +00:00
Robert Watson
48c193e183 o Fix up includes which built due to excessive nested including in the
base system, but not in BruceBSD.
o Fix up style violations of various sorts.
o Remove redundant normalization of hertz variable, as the sysctl handler
  does this work (unlike when kread was used).

Submitted by:	bde
2000-12-17 18:43:28 +00:00
Kirk McKusick
1f7d250182 Change the proc information returned from the kernel so that it
no longer contains kernel specific data structures, but rather
only scalar values and structures that are already part of the
kernel/user interface, specifically rusage and rtprio. It no
longer contains proc, session, pcred, ucred, procsig, vmspace,
pstats, mtx, sigiolst, klist, callout, pasleep, or mdproc. If
any of these changed in size, ps, w, fstat, gcore, systat, and
top would all stop working. The new structure has over 200 bytes
of unassigned space for future values to be added, yet is nearly
100 bytes smaller per entry than the structure that it replaced.
2000-12-12 07:25:57 +00:00
Andrew Gallatin
19f085228f Correct int/long type mismatch in the proper place this time. freevnodes
and numvnodes are longs in the kernel.  They should remain longs in systat,
what really needs to change is that they should be using SYSCTL_LONG rather
than SYSCTL_INT.   I also changed wantfreevnodes to SYSCTL_LONG because I
happened to notice it.

I wish there was a way to find all of these automatically..

Pointed out by: bde
2000-12-02 20:08:33 +00:00
Andrew Gallatin
36acf3d991 fix another int/long type mismatch. This one was causing pigs to
die with an fpe on alpha because fscale wasn't properly initted
2000-12-01 20:57:02 +00:00
Andrew Gallatin
d468ee6f1a fix int/long type mismatches found on alpha 2000-12-01 20:01:38 +00:00
Robert Watson
c3a2720353 o Make systat/vmstat.c use sysctl() to retrieve cp_time, bufspace,
maxvnodes, numvnodes, freevnodes, nchstats, and numdirtybuffers.
o Make the hw.ncpu error checking code a little more rigorous by
  sanity checking the returned data size.
o Didn't fix machine-dependent non-sysctl-exported variables:
  intrnames, eintrnames, intrcnt, eintrcnt, as these variables are
  defined and exported from machine-dependent kernel code in
  assembly.  This should probably be fixed somehow.
2000-11-25 03:53:42 +00:00
Robert Watson
00df22775a o make systat/pigs.c use syctl() to retrieve cp_time, fscale, and ccpu
instead of using kmem.
2000-11-25 03:49:42 +00:00
Robert Watson
8c82fe65a7 o Make systat/iostat.c use sysctl() to retrieve cp_time instead of
kmem.
2000-11-25 03:47:36 +00:00
Robert Watson
7ace4e618a o Make systat use sysctl() to retrieve hz and stathz, instead of
using kmem.
2000-11-25 03:46:45 +00:00
Ruslan Ermilov
8fe908ef0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
Chris D. Faulhaber
2d45aed6bc Remove obsolete /dev/drum references
Reviewed by:	alex, asmodai, billf
2000-10-29 12:19:52 +00:00
Andrey A. Chernov
2aed24b487 Remove unneded -ltermcap 2000-09-16 03:30:50 +00:00
Peter Wemm
540bc8d6e1 Quick Fix: swap.c doesn't appear to actually need <sys/conf.h>, so remove
it to try and get world building again.  (sys/conf.h now depends on
sys/types.h)
2000-08-24 20:22:44 +00:00
Alfred Perlstein
2873654a65 Fix systat to use the kern.ipc.mbtypes sysctl instead of referencing a
structure member that doesn't exist anymore.
Use getsysctlbyname for kern.ipc.mbstat instead of sysctl.
Use netstat's method of displaying values from mtnames.

Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Missed by PR: 19809
2000-07-15 16:24:21 +00:00
Poul-Henning Kamp
fb7a8c91b8 Duh! get the scaling right. 2000-06-01 08:49:46 +00:00
Poul-Henning Kamp
0e5064d228 Rescale the IOstat bars, modern disks are faster than old disks. 2000-06-01 08:26:13 +00:00
Poul-Henning Kamp
9df46d4a2a Don't include <sys/buf.h> 2000-05-05 15:41:22 +00:00
Warner Losh
0e7f0658ee #include <errno.h> where needed. Kill extern int errno;.
Minor warnings in tip corrected.
2000-04-14 06:39:19 +00:00
Sheldon Hearn
4e86fcacf6 Remove more single-space hard sentence breaks. 2000-03-02 14:54:02 +00:00
Nik Clayton
436aece8db s/curses/ncurses/
PR:             docs/17061
Submitted by:   Udo Erdelhoff <ue@nathan.ruhr.de>
2000-03-01 10:46:05 +00:00
Brian Feldman
2b543de8c6 "Disks" is more correct than "Disks" could be. 1999-09-19 18:04:54 +00:00
Peter Wemm
3879bee426 systat is way too comfortable with curses internals... 1999-08-30 08:18:09 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Chris Costello
0114ca66e9 Fix bad references:
vmstat(1) -> vmstat(8)
  iostat(1) -> iostat(8)
1999-08-14 06:52:28 +00:00
Dag-Erling Smørgrav
a4a026b4c0 Show dirty buffers and the percentage of time a disk was busy.
PR:		12858
Submitted by:	Arjan de Vet <Arjan.deVet@adv.iae.nl>
1999-07-30 07:44:25 +00:00
Nik Clayton
3be5f1f5ce Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
Peter Wemm
bf0e1ee370 Tidy up references to <sys/rlist.h> and support for the old swap management
that went away in January.
1999-05-11 14:32:18 +00:00
Bruce Evans
0af0a4b0f4 Display floats with format %*.0f instead of as "*****" if there is
enough space for this but not enough space for the normal %*.*f
format.  Similarly for long doubles.
1999-03-22 03:44:01 +00:00
Matthew Dillon
2d7142ca1a Include discrete ozfod as well as ozfod/zfod percentage. 1999-02-08 02:39:45 +00:00
Matthew Dillon
8b4c04d3f3 If there are 4 or fewer disk devices, we have room to display additional
VM statistics.  zfod is moved and %slo-z ( percentage of zero-fills that
    were slow, i.e. not pre-zero'd ), and number of pages freed per second.
1999-02-08 02:11:52 +00:00
Matthew Dillon
300c6da23d Be nice when no swap is configured in system 1999-02-06 06:43:56 +00:00
Matthew Dillon
4aa513f41d Fix labeling bug 1999-01-22 10:57:50 +00:00
Matthew Dillon
e53c5e2053 Make systat -swap use new kvm_swapinfo() function 1999-01-22 10:53:13 +00:00
David E. O'Brien
154a13b5f8 revert to rev 1.29. (floppy drives will be gotten rid of another way) 1999-01-09 06:03:54 +00:00
David E. O'Brien
587c729bb3 Add copyright and RCS/CVS Id.
Noticed by:	ken
1998-12-27 21:44:03 +00:00
David E. O'Brien
d623448808 Update section on DK_NDRIVES (which was removed with CAM), and explain
relation to devstat(3)/(9).

Submitted-by:	ken@freebsd.org
1998-12-27 21:38:09 +00:00
David E. O'Brien
4ae16510d1 Turn the compile time option into a run-time option.
You can now use the `want_fd' command in the vmstat display.

Suggested by:	grog
1998-12-27 17:59:42 +00:00
David E. O'Brien
5647c79de5 Don't waste precious space on showing the performance of fdX.
(can get old behavior with -DWANT_FD)
1998-12-27 08:15:37 +00:00
David E. O'Brien
d22889b821 Quiet many compiler warnings. 1998-10-08 09:56:10 +00:00
Kenneth D. Merry
2459ccb484 Fix a core-dump situation in ":boot" mode in the vmstat display.
Reported by:	bde
1998-10-05 04:04:27 +00:00
Kenneth D. Merry
bcc6a3da92 Change the devstat generation number from an int to a long. The int-sized
generation was causing unaligned access faults on the Alpha.

I have incremented the devstat version number, since this is an interface
change.  You'll need to recompile libdevstat, systat, iostat, vmstat and
rpc.rstatd along with your kernel.

Partially Submitted by:	Andrew Gallatin <gallatin@cs.duke.edu>
1998-09-20 00:11:23 +00:00
Kenneth D. Merry
8b95823257 Delete unused code. This has been obsoleted by the new devstat code.
Reviewed by:	imp
1998-09-16 00:25:54 +00:00
Justin T. Gibbs
86e492ee46 Reference new files for device stat support. 1998-09-15 10:28:59 +00:00
Justin T. Gibbs
8d2fbde504 Update system to new device statistics code.
Submitted by:	"Kenneth D. Merry" <ken@plutotech.com>
1998-09-15 08:16:45 +00:00
Joseph Koshy
1c79dc84fd Add missing comma.
PR:		7841
Submitted by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
1998-09-09 03:07:03 +00:00
Bruce Evans
81a4459b5f Fixed type mismatches which were fatal when sizeof(long) > sizeof(int). 1998-07-06 22:08:00 +00:00
Guy Helmer
a57a22d25f Update vmstat portion of man page to reflect the statistics currently
shown by systat's vmstat display.
PR:		docs/3764
1998-06-25 22:04:48 +00:00
Peter Wemm
9ec49abd00 #include <arpa/inet.h> 1998-06-12 14:18:33 +00:00
Warner Losh
448b84a0e4 o Use snprintf rather than sprintf
o Add more checks for buffer overflows
o Use snprintf rather than strcat/cpy and have better checks for max
  length exceeded.

Most of these changes are not exploitable buffer overruns, but it never
hurts to be safe.

Inspired by and obtained from: OpenBSD
1998-06-09 04:17:29 +00:00
John Hay
73cdb7fd38 Correctly display the interrupt counts.
Reviewed with optimizations by:	Tor Egge <tegge>
1998-05-27 21:01:37 +00:00
Steve Price
794313942d Use 'proto <tcp|udp|all>' to select the protocol to display
in netstat-mode to avoid a conflict with tcp-mode.  Also
while documenting this new feature in the manpage, fix a
minor display nit.

PR:		5159
Submitted by:	Sergei Chechetkin <csl@whale.sunbay.crimea.ua>
1997-12-04 03:44:46 +00:00
John Polstra
abe6c636d0 Fix: too many arguments for format in call to sprintf(). 1997-11-18 05:53:03 +00:00
Wolfram Schneider
bf5cbf3551 Sort cross refereces in section SEE ALSO. 1997-09-29 19:11:55 +00:00
Garrett Wollman
630fa006b9 Having done ICMP, UDP, and IP, could a TCP display be far behind? 1997-09-27 00:44:55 +00:00
Peter Wemm
39253d4c87 Show size of vnode pool in vmstat mode. 1997-09-25 01:14:25 +00:00
Garrett Wollman
2938fb783c Emboldened by the success of yesterday's ICMP statistics display,
I've now added one that does IP (and also UDP) statistics.
1997-09-25 00:37:32 +00:00
Garrett Wollman
03e00a72c6 Add a mode to display ICMP statistics.
Inspired by:	IRIX netstat -C
1997-09-24 02:43:45 +00:00
Philippe Charnier
014927909d Main() returns int. 1997-08-26 11:08:24 +00:00
Philippe Charnier
d8793dfac3 Use err(3). /sys/dkstat.h -> /usr/include/sys/dkstat.h 1997-08-13 06:45:11 +00:00
Bruce Evans
a15f578988 Merge from Lite2 (print "??" instead NULL if devname() fails). More
faithful stealing from pstat would have given this already.
1997-07-06 04:37:22 +00:00
Bruce Evans
237f53369c Importing Lite2 broke lookup() to return -1 for the nmatches == 0 case.
Fixed.
1997-07-06 04:13:20 +00:00
Bruce Evans
94143ce785 This commit was generated by cvs2svn to compensate for changes in r27229,
which included commits to RCS files with non-trunk default branches.
1997-07-06 04:02:30 +00:00
Bruce Evans
ff6c33c9e8 Import Lite2's src/usr.bin/systat. cmds.c is still on the vendor branch
and this import just breaks it.
1997-07-06 04:02:30 +00:00
Garrett Wollman
646bbae242 Use new sysctl(3) interface to mbuf statistics. While we're at it,
count free mbufs correctly.
1997-02-24 20:59:03 +00:00
Peter Wemm
c115df18cd Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
David E. O'Brien
bdbbe98ba5 The screen layout of the lefthand side for the vmstat display was way off.
(based on my running it on 2.2-GAMMA)
1997-02-15 21:01:38 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Joerg Wunsch
6b5d41d069 Fix the following old problem:
date: 1994/10/09 07:37:18;  author: davidg;  state: Exp;  lines: +7 -1
  #if 0'd out the meat of the swap code until I get a chance to rewrite it.

...mainly by stealing the code from pstat(8).
1997-01-12 19:38:32 +00:00
Jordan K. Hubbard
b2ff494ac6 Now that systat's working again, bring the vmstat cleanup over from
-stable.
1996-11-12 19:16:46 +00:00
Bruce Evans
adb844d545 Initialize interrupt counters. The boot time values were displayed as ***.
Should be in 2.2.

Pointed out by:	/etc/malloc.conf -> AJ
1996-11-10 08:30:18 +00:00
Poul-Henning Kamp
00cb92bf59 bin/1942 curses problem in systat
truncate if too long for field.
2.2 candidate.
1996-11-02 15:15:40 +00:00
Garrett Wollman
3e1c3ca6bb Eliminate unnecessary include of <sys/mbuf.h>. 1996-10-28 19:08:13 +00:00
Bruce Evans
4523edce8b Really eliminated includes of the "temporary" backwards compatibility
header <sys/dir.h> in applications.  My previous sweep didn't find the
places that included it without needing it.
1996-09-24 08:43:04 +00:00
Bruce Evans
5b963fa12e Fixed DPADD. 1996-09-05 17:16:10 +00:00
Jordan K. Hubbard
94591e176e Cosmetic fixes for drive names which are 4 chars long.
Submitted-By: Joe Greco <jgreco@ns.sol.net>
1996-06-11 16:18:58 +00:00
John Polstra
a49b055f5c Fix a bug in the mbufs display, seen when there was a large number
of mbufs in use.  If the number reached, e.g., 4 digits, then later
decreased to 3 digits, the last digit of the 4-digit number was
not erased.  This caused the display to show a wildly high number of
mbufs in use.
1996-05-27 17:47:09 +00:00
Andrey A. Chernov
daab85586e Localize time 1996-03-31 16:39:26 +00:00
Bruce Evans
0e08ab6ff0 Renamed Proc-cache to Dir-cache for the same reasons as in vmstat.
Tweaked screen positions to match.
1996-03-29 14:48:25 +00:00
David Greenman
d8d891521e Move #include of queue.h before #include of socketvar.h in preparation for
struct socket changes.
1996-03-11 13:01:12 +00:00
Mike Pritchard
270d3d754a Fix a variety of minor typos and cross references in a bunch of
man pages.

Masanobu Saitoh <msaitoh@spa.is.uec.ac.jp>
Giles Lean <giles@nemeton.com.au>
<soda@sra.co.jp>
1996-01-20 07:29:11 +00:00
Bruce Evans
d376015efe Reduced vm dependencies. Only `struct vmmeter.h' is required.
Unfortunately, the sysctl number for reading this struct is
bogusly placed in <vm/vm_param.h> instead of with the declaration
of the struct.
1995-12-13 15:01:13 +00:00
Peter Wemm
0fe1bab6cc Add explicit #include of <sys/vmmeter.h> after the last round of <vm/vm.h>
changes.
1995-12-13 11:34:46 +00:00
Poul-Henning Kamp
52a28d7027 #include <sys/user.h> 1995-10-29 09:56:53 +00:00
Bruce Evans
926e94cd40 Don't attempt to read the variable total' from the kernel. total'
isn't used in systat or in the kernel (it was replaced by a sysctl()
call involving VM_METER) and will go away when I clean up bogus
common variables in the kernel.
1995-07-12 20:09:02 +00:00
Rodney W. Grimes
7799f52a32 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
David Greenman
affcfa1401 Updated for 4.4BSD queue macros. (Oops, I forgot to commit this last night;
sorry Jordan).
1995-04-09 15:21:08 +00:00
David Greenman
90fef96dd0 From Mark Murray:
I got irritated with not seeing the interrupt numbers in a (crowded)
"systat -vmstat" display, so I fixed it. Here is a patch to please be
applied in src/usr.bin/systat
1995-03-29 00:10:14 +00:00
David Greenman
ff93e578a0 Removed object lookup/hit count and changed the order of things a little. 1995-03-25 08:44:48 +00:00
David Greenman
1d93250fd2 Removed cnt.v_nzfod...we don't support it in the kernel. 1995-03-25 06:39:47 +00:00
Poul-Henning Kamp
475e2a7de8 Fix the Name-cache counters. I didn't realign the negative hits. 1995-03-18 08:55:15 +00:00
Poul-Henning Kamp
dc0b7482de Report the negative hits in the Namei section. 1995-03-12 01:58:18 +00:00
Poul-Henning Kamp
c3f4fea40c Don't use curses until initialized. 1995-03-12 01:47:08 +00:00
David Greenman
8950c0148b Changes to support printing stats for the 'cached pages'.
Submitted by:	John Dyson
1995-03-10 20:07:21 +00:00
Bruce Evans
3544ae54e2 extern.h, iostat.c, main.c, vmstat.c:
Use the correct value of hz (stathz if it is nonzero) for
	interpretion of dk_time[] and cp_time[] in iostat.c.  Avoid
	multiple conversions of this value in iostat.c and vmstat.c

iostat.c:
	Implement the display of cp_time[CP_INTR].  Fix the display
	of cp_time[CP_IDLE] (the display was always null because
	cp_time[CP_INTR] == 0 was displayed instead).

systat.1:
	Document the display of cp_time[CP_INTR].

vmstat.c:
	Implement the display of cp_time[CP_INTR].
1994-12-03 10:06:40 +00:00
David Greenman
293df9d65a Moved "VMSTAT" column up by one row so that it displays properly on 24
row displays.
1994-11-25 03:48:04 +00:00
Poul-Henning Kamp
f6936e4b00 Another absolute path... 1994-11-21 01:07:02 +00:00
Andrey A. Chernov
dc5c110e4a Prevents segm. fault on unknown option 1994-10-19 05:10:06 +00:00
David Greenman
c58c4cd7c6 Updated to changes in struct vmmeter. 1994-10-18 15:03:10 +00:00
Garrett Wollman
379bb2d779 New way of getting disk drive names. 1994-10-16 04:04:56 +00:00
David Greenman
99e1559564 Updated to changes in struct vmmeter. 1994-10-15 13:37:41 +00:00
David Greenman
82c4eab0a7 #if 0'd out the meat of the swap code until I get a chance to rewrite it. 1994-10-09 07:37:18 +00:00
David Greenman
5f7daa9621 Changes to buf.h now require that param.h be included. 1994-10-05 09:57:49 +00:00
Garrett Wollman
4be4929c2b Get rid of _PATH_UNIX completely; use getbootfile(3) instead.
DANGER WILL ROBINSON!
_PATH_UNIX is currently defined as the literal string "don't use this".
I am of two minds about this myself, but wanted to get something into the
tree as quickly as possible.
1994-09-24 00:08:43 +00:00
Garrett Wollman
104a05478d Make the %zfod display make more sense by comparing zfod versus the total
zfod + nzfod, rather than zfod / nzfod, which doesn't make a whole lot of sense.
1994-08-07 00:16:29 +00:00
David Greenman
b3bfc7199e Converted 'vmunix' to 'kernel'. 1994-08-05 09:14:37 +00:00
Rodney W. Grimes
5c64522858 Add i386 support, and reorder machine #ifdefs to be in alphanumeric order. 1994-05-30 14:12:06 +00:00
Rodney W. Grimes
9b50d90275 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00