后台日志疯狂报错,谁知道为什么

什么是syslogd  syslogd可以简单地被称为记錄系统活动的一个daemons比如可以记录谁,在什么时间在哪里,做了什么事情;也可以记录的系统曾经发生过什么事情比如什么时候重噺引导过、软硬件的错误信息等;当然也记录着您系统上运行着的服务的信息。
  很多时候有朋友上来就问,我的X不能启动了是怎麼回事啊!问号和叹号这样使用在语文规范上是不允许的,但是我们可以获知他的心情是急迫的。可是为什么您不先考虑一下您做叻什么更改为什么不先看看是否有错误输出,为什么不看看日志文件起码,日志为解决问题提供了很好的参考啊很多人讲自己的某個设备不工作,dmesg的信息您是否认真参考了
  syslogd做的是琐碎的工作,但却是相当重要的工作很多朋友为了提高系统的性能,节省那一点點资源就决定把这个daemons停掉我认为,这是不可取的  syslogd记录的日志一般在/var/log/下,当然也有存储在另外的服务器上的因为syslogd记录的信息实在昰太重要了,所以还要涉及日志安全的问题
     /var/log/wtmp: 记录谁曾经登陆过系统,由于本日志被编码过所以可以用utmpdump命令使这个文件变成可读格式。   

要求当前正在运行的 klogd 守护进程重新装载内核符号表

-i 用于让守护进程重新装载内核模块符号。

-I 用于让守护进程重新装载静态內核符号和内核模块符号 

klogd 在读取并记录所有内核消息缓冲区中的消息之后立即退出(不作为守护进程)。 

打印版本信息后退出 

当展开符号時打印两行,一行将地址转换为符号一行是原始文本。这样就允许一些外部程序(比如ksymoops)在原始数据上做一些处理 

如果 klogd 将内核消息转发给 syslogd 進程,那么它可以分拣出某些特定的消息原始内核消息的格式如下:

尖括号中的数字表示内核消息的优先级,这些数字的定义位于 kernel.h 文件Φ当 klogd 收到内核消息之后,将会读取这个数字并在将此消息转发给 syslogd 时按照这个数字分配适当的优先级。

如果使用 -f 将内核消息直接记录到特定的文件中那么这条消息将保持原样。

klogd 会尝试将内核地址解析为对应的符号如果你想得到原始的地址信息,那么可以使用"-2"开关如果没有使用"-k"选项,那么将会依次尝试下面的路径:

因为内核模块动态加载所以地址并不固定这时就要使用"-i"/"-I"通知 klogd 内核模块的变化。这两个開关都将导致当前正在运行的 klogd 守护进程重新加载内核符号表应当在每一次加载或者卸载内核模块后立即运行下列命令:

-p 开关也可以用于哽新内核符号表。它会让 klogd 在检测到保护性错误的时候重新加载内核符号表使用这个开关需要小心,因为操作系统在出现保护性错误(protection fault)的时候已经变得不稳定了而 klogd 必须执行系统调用才能重新装载内核符号表,所以这样做可能会导致更糟糕的结果

内核默认的控制台日志等级昰"7"(debug),也就是等级数字小于等于6的消息(优先级更高)都会显示在控制台上这些不同等级所代表的意思位于 kernel.h 文件内,这个包内的 syslog.h 中也有一份拷貝可以使用 sysctl 来指定控制台日志等级,这通常是在 /etc/sysctl.conf 文件中设置的比如下面这一行:

就是把内核的控制台日志等级设为了"4"

我要回帖

更多关于 登录日志 的文章

 

随机推荐