linux系统日志学习

日志文件是linux系统管理员管理系统、解决问题的重要依据。

如果要查看linux系统开机日志信息,可以使用dmesg命令或直接查看/proc/kmsg信息。
/proc/kmsg文件用来存储用printk生成的内核消息,只有超级用户权限的进程可以读取这个文件。
linux kernel默认的日志级别是几?
如果将printk的日志级别设为最低(KERN_EMERG),减少kernel启动时的日志输出,
能否达到加速kernel启动的目的?
在下面这篇文章中已经有学习过linux dmesg命令,它用来显示linux系统的开机信息,
http://blog.csdn.net/boyxulin1986/article/details/12173901

为什么需要从RAM中开出一块空间用来存储linux系统的日志信息?
linux系统启动过程中,硬盘并不能在boot系统时立即挂载好,
所以系统启动时的那一小段信息就无法保存下来。
这样就无法通过查看日志信息来查看跟系统开机相关的问题,这让解决问题变得复杂。

printk打印日志的规则:
如果符合当前设定的日志级别,则直接输出到终端上;
否则日志只会被保存到系统的缓冲区即ring buffer中。
这需要在linux系统下进一步确认。

logrotate程序是一个日志管理用来,用来删除旧的日志文件,建立新的日志文件。
/etc/logrotate.conf
/var/lib/logrotate/status
/etc/logrotate.d/
/etc/cron.daily/logrotate
logrotate怎么用?等做系统管理员那一天再来看吧。

/var/log/messages里面的信息是klogd和syslogd两个系统守护进程生成的日志信息。
linux系统boot时,日志信息会被存储到/proc/kmsg档案中;
待klogd程序启动后,它会将/proc/kmsg中的日志信息copy到/var/log/messages档案中。
syslogd守护程序会根据/etc/syslog.conf配置文件中的配置将不同的服务产生的日志信息
存储到不同的档案中。

/var/log/目录下面记录了大量的系统日志信息,比如:
/var/log/boot存储了linux系统启动相关的log;
/var/log/dmesg存储了linux kernel启动的log;
/var/log/messages存储了系统错误日志信息等。

/var/log/wtmp,/var/run/utmp等档案存储了跟用户登录相关的日志信息。
像who/last等命令就是通过检查这些相关的档案来确定系统中用户登录状况的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值