1819682 Members
3675 Online
109605 Solutions
New Discussion юеВ

Re: dmesg

 
SOLVED
Go to solution
Rumen Ginev
Frequent Advisor

dmesg

/var and /home file systems are 46% and 30% used respectively. There is nothing in syslog, but dmesg buffer is being filled up with messages:
/home: file system full
/var: file system full
What is the reason? How can I stop this?

Regards,
Rumen
9 REPLIES 9
Andreas Voss
Honored Contributor

Re: dmesg

Hi,

have a look at /var/adm/syslog/syslog.log
There you can see when the mesages appeared.
I think your full filesys messages are in the past. When /var goes full this could happen, when someone does a vi with a big file. When opening the file vi stores temporary on /var. If the user leaves then vi the /var files are removed.
Within /home it could be that a user has dumped a core file an possibly you have a cron job that removes periodically core files so that the filesystem ist freed.

Regards

Andrew
curt larson
Frequent Advisor

Re: dmesg

sounds like they are old messages. Is there a time stamp on the dmesg entries? And unless you've restarted syslogd since /var filled up, syslogd is no longer logging error messages. Look at the time stamp of the last message in /var/adm/syslog/syslog.log.
stop and start syslogd:
/sbin/init.d/syslogd stop and
/sbin/init.d/syslogd start

you should get a read of the syslog.conf in the syslog.log file.
nobody else has this problem
Lars Mousten
New Member

Re: dmesg

Hi, (new in this forum)
Perhaps it could be the number of inodes, which is too high ??
see it with bdf -i . Often occours if you have a lot of small files to access.
I am not 100% sure if this will cause an output which can be viewed by dmesg.
Anyway an idea to take a look at.
anything is easy .... if you know the answer
Stefan Farrelly
Honored Contributor
Solution

Re: dmesg


The errors in dmesg mean that since the server was last rebooted you have had those filesystems full, at some point (maybe a long time ago). The only ways to find out when they filled up is to check /var/adm/syslog/syslog.log for any full messages (grep -i full /var/adm/syslog/syslog.log). If you cant see any messages there then another possibility is if you are running measureware/perfview then fire up perfview (pv) and display a graph and change a metric to space util for the lvol which has filled up then scroll back in time on the graph to see when it was full.

A more common way to capture dmesg output is a cron job running say every 5/10 minutes which does a dmesg - >>/var/adm/messages. This way a timestamp is put into the messages file when an error is logged in dmesg, so by simply looking at /var/adm/messages for the full errors you will see a date/timestamp when they ocurred.

The only way to clear these errors out when doing a dmesg command is to reboot your server.

Im from Palmerston North, New Zealand, but somehow ended up in London...
John Palmer
Honored Contributor

Re: dmesg

dmesg reads a small buffer which is wtitten cyclically by the kernel.

Are you just running dmesg? If so, it will simply print the contents of the buffer every time.

dmesg - should be used to display any new messages since the last time it was run see man dmesg.

Regards,

John
Bill Hassell
Honored Contributor

Re: dmesg

dmesg is a kernel buffer that keeps only the last couple of pages of messages but with no time stamp. To log these messages, use a cron job such as:

1,6,16,26,36,46,56 * * * * /usr/sbin/dmesg - >> /var/adm/dmesg.log

Once this is in root's crontab, all dmesg entries will be logged and time stamped every 5 minutes. dmesg - will produce no output (and no additional log entries) if there are no new messages.


Bill Hassell, sysadmin
Martin Schark
Frequent Advisor

Re: dmesg

Hi,

the dmesg buffer is often missleading. There is no time stamp with the error
messages. So the error might have happend a day before. dmesg is in memory
only and the low level driver (starting with the boot sequenz) are writing error
messages there.

Regards Martin Schark
mailto:mschark@gmx.net

Re: dmesg

/home can get filled up by the "core files" caused by the application failiure or a compilation error.
/var can get filled up my the root's mail box file name /var/mail/root or the /var/adm/sa/sa*** files may occupy space.
or /var/adm/crash has a core directory.
The above mentioned files are the root causes for the file systems to get filled up
clear them accordingly
Sundar
Ramesh Donti
Frequent Advisor

Re: dmesg

Hi,
dmesg doesn't show any time stamps, So I advice you to look at /var/adm/syslog/syslog.log to keep track of any errors.
If ur filesystems are not shown full in bdf output, then obviously it is a old message.
Always Keep Smiling