[comp.sys.sequent] /usr/adm/messages overflows

amos@taux01.UUCP (Amos Shapir) (09/05/89)

In a normal BSD kernel, repeated kernel messages (such as 'disk out of
space') are not printed verbatim; instead, just a count of repeated
identical messages is printed for each set.

In dynix, however, kernel messages contain the CPU number; since a
repeated error condition is usually encountered by different processes
running on different CPU's, this causes messages not to be identical, so
each one is printed separately and also stored in /usr/adm/messages.

If you hate to wade through hundreds of identical messages, you can
remove redundant messages by piping the output of /etc/dmesg through
'uniq' - in /usr/lib/crontab, replace the line that runs it by:

0,10,20,30,40,50 * * * * /etc/dmesg - | uniq -c +2  >>/usr/adm/messages

This will have the effect of ignoring the CPU number, and preceding each
line by the number of times it was repeated.  If you really have to see
the CPU numbers, /etc/dmesg can still print the original messages as
stored in the kernel's buffer, and of course the printing on the console
is still unchanged.

-- 
	Amos Shapir		amos@taux01.nsc.com or amos@nsc.nsc.com
National Semiconductor (Israel) P.O.B. 3007, Herzlia 46104, Israel
Tel. +972 52 522261  TWX: 33691, fax: +972-52-558322
34 48 E / 32 10 N			(My other cpu is a NS32532)

csg@pyramid.pyramid.com (Carl S. Gutekunst) (09/07/89)

In article <2521@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) writes:
>In a normal BSD kernel, repeated kernel messages (such as 'disk out of
>space') are not printed verbatim; instead, just a count of repeated
>identical messages is printed for each set.

That's a feature of the 4.3BSD syslogd(8), not the kernel. Since Dynix uses
the 4.2BSD syslog, you can't get "repeat counting" even if you didn't also
have the problem of the CPU number being printed out.

<csg>