正文
linux命令dmesg Linux命令dmesg
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Linux诊断机器故障工具—dmesg命令
1、简介
dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现linux命令dmesg的问题。另外linux命令dmesg,使用 dmesg 可以确定您linux命令dmesg的服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
2、dmesg命令常用格式
[root@RedHat_test ~]# dmesg [-cn][-s 缓冲区大小]
-c: 当完成打印显示后清除环缓冲内的内容。
-s: 缓冲区大小。定义一个大小为"缓冲区大小"的缓冲区用于查询内核环缓冲区。默认大小为8196(此大小与2.0.33 和2.1.103 内核的默认syslog 缓冲区大小一致),如果你设置了一个大于默认值的环缓冲区,那你就可以用这个选项定义一个相当的缓冲区来查看完整的环缓冲区内容。
-n: 级别。设置级别为记录控制台启动信息的级别。比如,-n 1指的就是将此级别设为最低级,除了内核恐慌信息之外不会向控制台显示信息。所有级别的启动信息还将记录到/proc/kmsg,文件中,因此,syslogd(8)同样可以用来对信息的输出进行控制。当使用-n选项时,dmesg将不会 清除内核环缓冲区中的内容。当同时使用以上两个选项时,只有最后一个选项才会产生效果。
3、将系统启动信息保存到文件中
[root@RedHat_test ~]# dmesg messages.txt
4、单页输出
[root@RedHat_test ~]# dmesg | more
[root@RedHat_test ~]# dmesg | less
5、以可读性较好的形式输出信息
[root@RedHat_test ~]# dmesg -H
6、设置记录信息的层级
[root@RedHat_test ~]# dmesg -n 3
7、打印输出内存
[root@RedHat_test ~]# dmesg | tail -f #打印输出最近一次的信息
[root@RedHat_test ~]# dmesg | head -20 #打印输出前20行的信息
[root@RedHat_test ~]# dmesg | tail -20 #打印输出最后20行日志
8、实时监控dmesg日志的输出信息
[root@RedHat_test ~]# watch "dmesg | tail -20"
9、搜索包含特定字符串的被检测到的硬件
[root@RedHat_test ~]# dmesg | grep DMA #查看硬盘的运行模式
[root@RedHat_test ~]# dmesg | grep eth #查看以太网的连接信息
[root@RedHat_test ~]# dmesg | grep sda #查看硬盘设备
[root@RedHat_test ~]# dmesg | grep ttyS* #查看串口的相关信息
[root@RedHat_test ~]# dmesg | grep -i memory #查看内存状况
[root@RedHat_test ~]# dmesg | grep -i usb #查看usb接口
[root@RedHat_test ~]# dmesg |egrep -i "(apm|acpi)" #探测系统内核模块,检测ACPI的加载情况
10、将开机信息发邮件
[root@RedHat_test ~]# dmesg boot.messages
[root@RedHat_test ~]# mail -s "Boot Log of Linux Server" public@web3q.net boot.messages
11、打印并清除内核环形缓冲区
[root@RedHat_test ~]# dmesg -c
关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。
Linux命令之dmesg的简单使用
用来显示开机信息, kernel会将开机信息存储在ring buffer中。开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg。我觉得和windows的事件记录差不多:
按理说涉及到一些硬件、驱动、应用程序的安装都会在/var/log/dmesg记录日志.如果出现问题毫无头绪的时候或许它会带给你一些思路。
但是对于一名程序员来说,如果突然遇到进程被杀死,而且又没有记录日志的情况该怎么解决了?dmesg是一个比较好的方案。例子:
发现系统自动kill掉了一些mysqld进程。那为什么系统会自动杀死进程呢?应该是出于保护作用,将某些内存占用非常多的进程杀死,从而保护进程不会因为内存耗尽而宕机。
Linux系统日志怎么查看
1. 前言
在Linux日常管理中,我们肯定有查看某些服务的日志需求,或者是系统本身的日志。本文主要介绍如何查看Linux的系统日志,包括文件的路径、工具的使用等等。会看Linux日志是非常重要的,不仅在日常操作中可以迅速排错,也可以快速的定位。
2. 如何查看Linux日志
Linux日志文件的路径一般位于,/var/log/,比如ngix的日志路径为/var/log/nginx/,如果要查看某服务的日志,还可以使用systemctl status xxx,比如查看ssh服务的壮态,systemctl status sshd
查看Linux某服务的日志
Liunx的配置文件在/etc/rsyslog.d里,可以看到如下信息
在linux系统当中,有三个主要的日志子系统:
1、连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,
login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
2、进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计
3、错误日志:由rsyslogd守护程序执行,各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的时间。另外有许多linux程序创建日志,像HTTP和FTP这样提供的服务器也保持详细的日志。
4、其他日志……
查看Linux日志默认路径
可以看到在/var/log目录下存在很多的日志文件,接下来就对里面的一些常用日志文件进行分析
主要日志文件介绍:
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
用户登录日志:/var/log/lastlog
/var/log/boot.log(记录系统在引导过程中发生的时间)
/var/log/secure (用户验证相关的安全性事件)
/var/log/wtmp(当前登录用户详细信息)
/var/log/btmp(记录失败的的记录)
/var/run/utmp(用户登录、注销及系统开、关等事件)
日志文件详细介绍:
/var/log/secure
Linux系统安全日志,记录用户和工作组的情况、用户登陆认证情况
例子:我创建了一个zcwyou的用户,然后改变了该用户的密码,于是该信息就被记录到该日志下
Linux系统安全日志默认路径
该日志就详细的记录了我操作的过程。
内核及公共信息日志,是许多进程日志文件的汇总,从该文件中可以看出系统任何变化
查看Linux内核及公共信息日志
系统引导日志
该日志使用dmesg命令快速查看最后一次系统引导的引导日志
查看Linux系统系统引导日志
最近的用户登录事件,一般记录最后一次的登录事件
该日志不能用诸如cat、tail等查看,因为该日志里面是二进制文件,可以用lastlog命令查看,它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示 Never logged。
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。该日志为二进制文件,不能用诸如tail/cat/等命令,使用last命令查看。
记录邮件的收发
此文件是记录错误登录的日志,可以记录有人使用暴力破解ssh服务的日志。该文件用lastb打开
该日志记录当前用户登录的情况,不会永久保存记录。可以用who/w命令来查看
3. 常用的日志分析工具与使用方法
3.1 统计一个文本中包含字符个数
3.2 查看当天访问排行前10的url
3.3 查看apache的进程数
3.4 访问量前10的IP
cut部分表示取第1列即IP列,取第4列则为URL的访问量
3.5 查看最耗时的页面
按第2列响应时间逆序排序
3.6 使用grep查找文件中指定字符出现的次数
-o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出。这样只要统计输出的行数就可以知道这个字符出现的次数了。
4. 总结
查看Linux日志需求了解和熟悉使用一些常用的工具方能提升我们的查找和定位效率。比如使用 Grep 搜索,使用Tail命令,使用Cut,使用AWK 和 Grok 解析日志和使用 Rsyslog 和 AWK 过滤等等,只要能掌握这些工具。我们才能高效地处理和定位故障点。
Linux查看MAC地址方法
PSlinux命令dmesg:一般默认的网卡文件名是eth0linux命令dmesg,根据IP地址对应的实际情况区判断是ethx即可。
1、 ifconfig -a 其中 HWaddr字段就是MAC地址,这是最常用的方式
2、cat /etc/sysconfig/network-scripts/ifcfg-eth0(CentOS or Redhat配置文件)
下面两种在未设置IP前可以查看。可以用来解决MAC和操作系统绑定的问题。比如你把操作系统装到远程服务器,操作系统的mac地址是A主机的地址,在B主机上由于MAC地址不同无法远程启动(因为这时配置文件仍是A的mac地址)。由于OS在启动时会检测硬件,获得硬件的MAC地址,写到/sys/class/net/eth0/address文件中,我们在OS获得mac地址之后,使用原来的MAC配置文件之前(也就是/etc/sysconfig/network-scripts/ifcfg-eth0 ),把真正的mac地址写到配置文件中。
3、cat /sys/class/net/eth0/address 查看eth0的MAC地址
4、dmesg | grep eth0
dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。
对dmesg命令感兴趣的小伙伴,可参考linux命令dmesg:
查看linux内核版本发行版本常用命令
1.uname查看linux内核版本 最常用 的命令,适用于CentOS,Fedora,Debian,Ubuntu等各种linux发行版本。
这里我用的服务器是CentOS7版本
uname -a
列出系统所有信息
解释如下
也可以只查询某一项信息
a.显示主机类型:
uname -m
b.显示主机名
uname -n
c.显示操作系统发行编号:
uname -r
d.显示操作系统名称:
uname -s
e.显示系统版本与时间:
uname -v
2.使用linux配置文件查看
a.查看内核版本
cat /proc/version
相比较uname而言可以看到开发者组织和gcc版本号
b.查看发行版本
cat /etc/redhat-release
3.Linux dmesg命令用于显示开机信息
kernel会将开机信息存储在ring buffer中。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
查看linux内核版本
dmesg | grep Linux
linux命令dmesg的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Linux命令dmesg、linux命令dmesg的信息别忘了在本站进行查找喔。