Linux系统中的硬件问题如何排查?(3)

2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T

在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工作,即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,本文分享一些实用的技巧与处理方法,希望有助于读者朋友理解、查明并最终搞定硬件难题。

AD:2014WOT全球软件技术峰会北京站 课程视频发布

Dmesg命令

另外一些颇具价值的信息被保存在内核缓冲区日志当中,我们通常可以利用dmesg命令来调用。当然,有时候该日志也会被保存在/var/log路径下的同名文件中。这条命令会显示所有缓冲区内的内核信息,其中一些也同时存在于标准系统日志当中--即由syslog生成的/var/log/messages。

除此之外,dmesg还会显示大量硬件初始化信息,我们可以借此摸索可能出现的问题或冲突。同样,这部分信息中不正常的内容也会很多,一一阅读并理解会浪费大量时间,所以请有针对性地进行处理。大家最应该关注的是模块名称与硬件地址,它们是由冒号隔开的数字与字母构成的字符串。

在下面的例子中,我们可以看到英伟达模块的初始化情况。由于模块不支持GPL,因此导致系统内核受损--另外,声卡的初始化信息也能在下图中找到。

  Lsmod命令

我们之前在许多场合都使用过lsmod命令,这条命令能够被加载到系统内核中的模块名称及其使用次数。在进一步分析处理之前,大家应该首先确定设备拥有基本驱动程序支持。举例来说,如果我们想了解为什么英伟达显卡无法工作,那么首先得弄清驱动程序是否被正确载入或者说没有出现冲突。虽然对于普通用户来说,判断驱动程序未被载入的原因似乎有些困难,但至少我们已经了解到导致问题的根源,这也算是个了不起的成果。

/sys/devices

现在我们再来看看更实用的检查方法。将启动信息与dmesg结合起来虽然能为我们提供一些基本信息,但这些信息却并不十分可靠。在无法断定信息真伪的情况下,大家需要直接审查内核架构并检测载入的驱动程序。

在Linux系统中,由于架构的单一特性,组件会直接通过编译进入内核或作为可动态加载的模块。与硬件之间相互通信的模块就被称为驱动程序。无论是直接进入内核还是成为可加载模块,组件最终都会出于某种目的而驻留在内核中。这是一种抽象软件层,用户无法直接进行控制。

然而,以间接方式进行部分控制还是可以的,我们能够利用伪文件系统/proc及/sys渗透到一部分内核架构中去。大家可以通过修改看似普通的文件来实时变更内核架构,这将改变系统的运作方式。/sys文件系统则允许用户对硬件以及内核模块进行修改。

现在,如果大家还记得之前图片中列出的数字,我们已经可以让它们派上些大用场。浏览/sys/devices下的子目录并检查哪些硬件组件已经连入注册接口。

某些模块拥有可写入参数,我们能够凭借root权限对其加以修改、进而改变硬件的运作方式。举例来说,我的LG笔记本的PCI插槽上接有USB5设备,它正好拥有可写入参数。如果大家在这个文件中填写不同数值,就能够启动或关闭对特定USB接口的访问。

在实践中,大家会发现浏览/sys绝对是个对经验与知识要求很高的细致活,这点在尝试解决硬件问题时尤为明显。普通用户对不同参数及值的理解更是有所欠缺,但这都不要紧,我想强调的只有一点:/sys目录能够提供很多有用的信息

Linux系统中的硬件问题如何排查?(3)的更多相关文章

  1. Linux系统中的硬件问题如何排查?(6)

    Linux系统中的硬件问题如何排查?(6) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  2. Linux系统中的硬件问题如何排查?(5)

    Linux系统中的硬件问题如何排查?(5) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  3. Linux系统中的硬件问题如何排查?(4)

    Linux系统中的硬件问题如何排查?(4) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  4. Linux系统中的硬件问题如何排查?(2)

    Linux系统中的硬件问题如何排查?(2) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  5. Linux系统中的硬件问题如何排查?(1)

    在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工作,即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,本文分享一些实用的技巧与处理方法,希望有助于读者朋友理解.查明并最终搞 ...

  6. Linux系统之运行状态分析及问题排查思路

    〇.一件事儿 以下分析是站在Java工程师的角度来分析的. 一.CPU分析 分析CPU的繁忙程度,两个指标:系统负载和CPU利用率 1.系统负载分析 系统负载:在Linux系统中表示,一段时间内正在执 ...

  7. 用户管理 之 Linux 系统中的超级权限的控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  8. Linux系统下查看硬件信息命令大全

    导读 有许多命令可以用来查看 Linux 系统上的硬件信息.有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息. 这个教程可以带大家快速了解一下查看各 ...

  9. 云服务器 ECS Linux 系统中常见的日志文件介绍

    云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...

随机推荐

  1. 阶段3 2.Spring_08.面向切面编程 AOP_3 spring基于XML的AOP-编写必要的代码

    新建项目 先改打包方式 导包,就先导入这俩包的坐标 aspectjweaver为了解析切入点表达式 新建业务层接口 定义三个方法 看返回和参数的区别.为了把这三类方法表现出来,并不局限于方法干什么事 ...

  2. sysstat功能列表

    iostat:统计并报告你的设备的CPU状态和I/O状态数据.mpstat:监控和显示关于CPU的细节信息.pidstat:统计正在运行的进程/任务的CPU.内存等信息.sar:保存和报告不同资源(C ...

  3. Linux下监控网卡流量的软件Nload

    Linux下监控网卡流量的软件Nload 安装nload: # wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz # tar zxvf ...

  4. 安装mangodb

    1.配置yum源 [root@www ~]# cat /etc/yum.repos.d/mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Repo ...

  5. Linux下获取安装包

    https://blog.csdn.net/xiaofeng3011/article/details/82797614 # cat /etc/yum.conf [main]cachedir=/var/ ...

  6. VirtualBox-5.2.8-121009-Win.exe虚拟机桥接

  7. springboot--websocket简单demo(一):session chat

    最近跟着大佬 https://tycoding.cn/2019/06/16/project/boot-chat/ 敲了2个关于websocket的demo,总结一下 从将会话信息保存在session中 ...

  8. Spring Boot 中使用 WebSocket 实现一对多聊天及一对一聊天

    为什么需要WebSocket? 我们已经有了http协议,为什么还需要另外一个协议?有什么好处? 比如我想得到价格变化,只能是客户端想服务端发起请求,服务器返回结果,HTTP协议做不到服务器主动向客户 ...

  9. 【推荐算法工程师技术栈系列】程序语言--Java

    目录 JDK 初步 ArrayList LinkedList Vector Stack HashMap Hashtable LinkedHashMap TreeMap HashSet LinkedHa ...

  10. python基础之字符串索引与切片

    字符串索引与切片:切片后组成新字符串与原字符串无关系增:str1+str2查:str1[index] str1[start_index:end_index]1,索引从0开始2,根据索引获取元素:索引超 ...