什么是MCE(Machine Check Error)?

什么是MCE(Machine Check Error)?,第1张

      迹搏 MCE(Machine Check Exception)是由CPU侦测出来的错误,它错误包含两种主要类型:notice(提示)/warning(警告),和fatal exception(致命性的错姿宽祥误)。Warning(警告)将会在你的系统log下输出一条类似于"Machine Check Event logged"的信息,我们可以通过一些linux的应用程序对这部分log进行详细的信息查看;而fatal MCE(致命的错误)会导致机器停止响应,MCE的详细信息也将会输出到系统的console中。

什么会导致MCE错误出现?

       常见原因有以下几种:

            1. 内存错误或ECC问题

            2. 冷却不足、CPU过热

            3. 系统总线错误

            4. 缓存处理器或硬件错误

如何找出MCE错误对应的含义?

       Linux系统下,如果在Console或者系统log中看到MCE的错误,可以运行mcelog命令从系统内核中读取详细的信息。需要注意的是,一旦运行了mcelog,我们将无法再通过这条命令去查询已经出现的错误,所以最好运行mcelog的时候讲文本输出到文件中以做进一步的分析,参考命令巧迅如下:

       root @ localhost:/ root>/ usr / sbin / mcelog>mcelog.ou

       有些系统会定期执行这个 *** 作,并将文件输出到/var/log/mcelog中,因此,如果系统log中发现了MCE信息,但是使用mcelog查询不到任何数据时,可以试着查看/var/log/mcelog文件。

致命的MCE错误导致机器停止响应后我们需要怎么办?

       致命的MCE错误通常都是由硬件错误所引起的,我们通过重启设备重新进入系统后,首先需要查看系统log,一个典型的MCE相关的错误log如下:

       CPU 1: Machine Check Exception:4 Bank 4: f600200137080813

       TSC b0ce27165dd3 ADDR 180ee1b40

这时我们可以通过mcelog去将这条error log的详细信息dump出来,命令如下:

       root@localhost:/root>/usr/sbin/mcelog --ascii <myerror

得到的详细错误信息如下:

       HARDWARE ERROR. This is *NOT* a software problem!

       Please contact your hardware vendor

       CPU 1 4 northbridge TSC b0ce27165dd3

       Northbridge Chipkill ECC error

       Chipkill ECC syndrome = 3700

       bit32 = err cpu0

       bit45 = uncorrected ecc error

       bit57 = processor context corrupt

       bit61 = error uncorrected

       bit62 = error overflow (multiple errors)

       bus error 'local node origin, request didn't time out

       generic read mem transaction

       memory access, level generic'

       STATUS f600200137080813 MCGSTATUS 4

       这表示发生了Uncorrected ECC error,意味着其中一根内存模块出现了问题。

Reference:

1. Machine-check exception, https://en.wikipedia.org/wiki/Machine-check_exception

2. What are Machine Check Exceptions (or MCE)?

http://www.advancedclustering.com/act_kb/what-are-machine-check-exceptions-or-mce/

查看/var/log/message

dmesg |egrep "sd|eth/memory/disk"

cat /var/log/messages |grep -i fail

dmesg |grep -i err

检查硬盘是否正常

smartctl简单用法

smartctl -A /dev/sda 查看硬盘的详细信息

smartctl -a <device>检查该设备是否已经打开SMART技术。

smartctl -s on <device>如果没有打开SMART技术,使用该命令打开SMART技术。

smartctl -t short <device>后台检测硬盘,消耗时间短;

smartctl -t long <device>后台检测硬盘,仔弊段消耗念誉时间长;

smartctl -C -t short <device>前台检测硬盘,消耗时间短;

smartctl -C -t long <device>前台检测硬盘,消耗时间长。其实就是利用硬盘SMART的自检程序。

smartctl -X <device>中断后台检测硬盘。

smartctl -l selftest <device>显示硬盘检测日志。

smartctl -l error <device>显示硬盘错误汇总。

内存可以看这个日志

/var/log下的mcelog

如果内卜散存有问题就会出现下面的日志信息

Corrected error

MCi_MISC register valid

MCi_ADDR register valid

MCA: MEMORY CONTROLLER RD_CHANNELunspecified_ERR

Transaction: Memory read error

Memory read ECC erro

1、常用的文件和目录 *** 作命令有哪些?各自的功能是什么?

ls显示文件和目录列表

touch生成一个就哦那个文件或者更改文件的时间

cp复制文件或目录

mv移动文件或目录,文件或者目录改名

rm删除文件或者目录

cat tac显示文本文件内容

more less分也显示文本内容

head tail显示文本文件的前若干行或者后若干行

wc统计指定的文本文件的行数字数字符数

in 建立链接文歼睁件

whereis查找系统文件所在氏或岁路径

find在文件系统中查找指定的文件

grep在指定的文件中查找制定的字符串

pwd显示当前的工作目录

cd切换目录

mkdir创建目录

remdir删除空目录

tree显示目录树

2、常用的信息显示命令有哪些?各自的功能是什么?

stat显示指定文件的相关信息

who w显示在线登陆的用户

whoami显示用户自己的身份

hostname显示主机名称

uname显示 *** 作系统的信息

dmesg显示系统启动信息

top显示当前系统中耗费资源最多的进程

du显示指定的文件一使用的磁盘空间的总量

df显示文件系统磁盘空间的使用情况

free显示当前内存和交换空间的使用情况

ifconfig显示当前网络接口信息

ping测试网络的连通性

netstat显示网络状态信息

locale显示当前语言环境

id显示当前用户的id信息

3、打包和压缩有何不同?常用的打包和压缩命令有哪些?

相同之处:是文件和目录一个集合

不同之处:打包文件所占用的磁盘空间是其中所有文件和目录的总和;而压缩文件一般情况下所占用的磁盘空间比其中所有文件和目录的总和要少

常用的命令有:

tar文件目录打(解)包

gzip 压缩(解压)文件或者目录,压缩后缀为gz

compress压缩(解压)文件或者目录,压缩后缀为Z

bzip2压缩(解压)文件或者目录,压缩后缀为bz2

4、简述在Shell中可以使用哪几种方法提高工作效率?

1.自动不全命令行

2.命令历史

3.命令别名

5、Linux下经常使用的-f和-r参数,它们的含义是什么?

cp命令团码

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- f 删除已经存在的目标文件而不提示

6、Vi的三种运行模式是什么?如何切换?

编辑模式,插入模式,命令模式

7、什么是重定向?什么是管道?什么是命令替换?

重定向就是不使用系统的标准输入端口,标准输出端口或标准错误端口而进行重新的指定;

管道是直接将一个程序的标准输出与另一个程序的标准输入相连接,不需要经过任何中间文件

命令替换shell中的命令参数可以有另一个命令执行的结果来替代。

8、Shell变量有哪两种?分别如何定义?

局部变量和全局变量。局部变量的作用范围仅仅限制在其命令行所在的shell或者shell脚本文件中。全局变量的作用范围是包括本shell进程及其所有子进程

9、如何建立和执行Shell脚本文件?如何使一个Shell脚本在当前Shell中运行。

用户可以使用任何文本编辑器编辑shell脚本文件,shell对shell脚本文件的调用可以采用三种:1.一种是将文件名作为shell命令的参数。

2.另一种方法是先将脚本文件的访问权限改为可执行,一边该文件可以作文执行文件调用3.当执行一个脚本文件时,shell就产生一个子shell去执行命令文件中的命令


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12316245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存