蚊章汇 - 硬件
type: channel
link: https://linuxcn.bwsl.wang/tag/%E7%A1%AC%E4%BB%B6/
items: 云开发人员需要了解的硬件知识
items: 硬核观察 #433 一位数学老师将微积分课程放在 P 站上大获成功
items: 在 Linux 上使用 lspci 命令查看硬件情况
items: 使用开源工具升级你的 Linux PC 硬件
items: 如何使用 lshw 查看 Linux 设备信息
items: 使用 RT-Thread 的 FinSH 对硬件进行编程
items: Linux 硬件故障排除指南
items: 用 Linux 命令显示硬件信息
items: 如何在 Linux 上查找硬件规格
items: 如何在 Linux 中查看系统硬件制造商、型号和序列号

云开发人员需要了解的硬件知识
type: item
date: 2023-03-17T07:58:52+08:00
description: 云无处不在，所以硬件比以往任何时候都更加关键。我们很容易忘记技术人员所取得的进步。在 2000 年代初期，大多数本地用户组（LUG）定期举行安装节。那时，要配置一台机器来很好地运行 Linux，我们必须了解有关硬件的详细信息以及如何配置它。现在，将近二十年后，有了一个项目，其核心理想是让一台计算机运行 Linux 就像 API 调用一样简单。在这个新世界中，运维人员和开发者等不再需要担心服务器中的硬件。这种变化对下一代的运维人员和开发者产生了深远的影响。在计算机技术的早期，你不得不经常接触硬件。如果计算机需要更多内存，你只需添加它即可。随着时间的推移，技术也有了很大的发展。这最终使运维人员远离硬件。过去需要去数据中心一趟，现在变成了远程操作硬件的支持工单。最终，硬件被完全摆脱了。相反，你现在可以通过简单的命令召唤和摧毁“服务器”，而不必再担心硬件问题。这里是真正的真相：硬件的存在是因为需要它来为云提供动力。但是，云到底是什么？为什么硬件对云至关重要云是建立在利用抽象集中的基础资源之上的。它的范围可以从简单的在你的 家庭实验室 中运行几个虚拟机的管理程序，到复杂的包括定制服务器、网络设备、容器和从头开始设计的专注于规模效率的技术。它们是模糊的。它们在进化。今天那些进入技术领域的人没有那些更有经验的开发人员实践经验。许多人从最早与计算机交互时就接受过使用云的培训。他们不知道不用按钮来更改内存分配的世界。他们可以将注意力转移到技术栈的更高层次。然而，如果不了解他们所使用的基础架构所建立的基础，他们就会含蓄地放弃学习栈较低级别（包括硬件）的机会。这里没有说错，因为云基础设施的实施者和运维人员已经做出了特定的选择，有意让他们的产品更易于使用。这意味着现在，你比以往任何时候都更需要有意识地考虑在选择使用云技术时你或其他人做出的权衡。大多数人在收到第一份超额的云账单或第一次因“吵闹的邻居”造成的中断之前，不会知道已经做出了哪些权衡。企业能否信任他们的供应商做出最适合他们运营的权衡？供应商会建议更有效或更有利可图的服务吗？让买家（或工程师！）当心。有意识地考虑权衡取舍需要从多个角度审视你的要求和目标。基础设施决策和其中的权衡是该项目的整个过程、设计或使用模型所固有的。这就是为什么必须尽快计划它们的原因。必须考虑多种不同的路径，以便为你的项目找到一个合适的归宿。首先是要实现的目标或提供的服务的轴心。这可能伴随着速度、质量或性能方面的要求。这本身可以驱动许多变量。你可能需要专用硬件（例如 GPU）才能以可接受的速度处理请求。此负载是否需要自动缩放？当然，这些路径是交织在一起的。问题已经跳转到“我的钱包会自动缩放吗？”业务需求是要考虑的另一部分。你的项目可能有特定的安全或合规性要求，这些要求规定了数据的存储位置。邻近相关服务也是一个潜在的问题。这包括确保与附近证券交易所的 低延迟连接 或能够提供高质量的本地视频缓存作为内容交付网络（CDN）的一部分。然后是最后一部分，即所提供服务的价值和成本：一个人希望或可以花多少钱来满足要求。这与第一条路径紧密相关。你的业务是“什么”以及你的业务“如何”运作。这可以像你的企业更喜欢资本支出还是更喜欢运营支出一样普通。当看到这些选项时，很容易看到改变任何一个变量都会开始改变其他变量。它们在本质上是相互交织的，一些技术可能允许这些变量动态变化。如果不了解较低层次的底层，你就有可能采取推动这种动态计费模式的路径。对一些人来说，这是首选。对其他人来说，这可能是令人恐惧的。尽管在现代技术栈中，学习特定的硬件知识已变得更加可有可无，但我们希望这篇文章能鼓励你去研究你可能在不知不觉中错过的东西。硬件的改进是功能交付和效率提高的一个重要部分，将计算机从房间大小的怪物缩小到小到可以植入人体内。我们希望你花时间停下来，学习并考虑你的下一个项目将在什么硬件平台上运行，即使你不控制它。如果你是一个还没有把头从云端拿出来的学生，去找一台 旧电脑，安装一根内存，挑战自己，学习新东西。via: https://opensource.com/article/23/3/cloud-hardware作者：Jay Faulkner 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

硬核观察 #433 一位数学老师将微积分课程放在 P 站上大获成功
type: item
date: 2021-10-24T03:54:27+08:00
description: 一位数学老师将微积分课程放在 P 站上大获成功YouTube 上的教学视频市场已经饱和，一位数学教师 决定 将自己的微积分课程视频上传到一个大型视频网站 P 站。他的频道中放了 200 多个明显不性感的黑板课程，涉及微分方程等主题，但是获得了 160 万浏览量，付费课程年收入达到了 25 万美元以上。有用户表示数学期末考试要用到。他的微积分视频包括了三个部分，第一部分是免费的，第二和第三部分则要付费。老王点评：这可是要叫“老师”的。卡马克为已停产的 VR 头盔推送解锁版操作系统开发了《DOOM》游戏的神级程序员约翰•卡马克加入了 Oculus 公司，并推动该公司为其已经停产的 Oculus Go 头盔显示器推出了一个 解锁版的操作系统更新，允许对超过 200 万台现有设备进行“完全 root 访问”。他在上个月 宣布 了这一更新计划，说这是他“多年来一直在推动的事情”。解锁可以让这些硬件在未来继续保持完整的功能，比如“二十年后更新到最新版本”。运行解锁操作系统的硬件将不再检查内核级别的签名，开发者可以为它创建新的底层软件。老王点评：如果每个硬件都能自由，那即便过时，也能发挥很多很好玩的作用。智能助手收集了很多数据根据 Reviews.org 的 一项调查，亚马逊的 Alexa 收集了 48 个可能的数据点中的 37 个；三星的 Bixby 收集了 34 个数据点，而微软的 Cortana 是 32个，苹果的 Siri 30 个，谷歌的智能助理只收集了 28 个。所有这五项服务都收集你的姓名、电话号码、设备位置和 IP 地址；你的联系人的姓名和号码；你的互动历史；以及你使用的应用程序。76% 的美国人报告说他们使用智能助手，但 61% 的人担心这些程序和设备总是在后台听他们说话。老王点评：家里有个“人”一直悄悄等你叫它，这其实挺可怕的。

在 Linux 上使用 lspci 命令查看硬件情况
type: item
date: 2021-09-17T17:14:35+08:00
description: lspci 命令用于显示 Linux 系统上的设备和驱动程序。当你在个人电脑或服务器上运行 Linux 时，有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备，从而满足上述需求。该命令由 pciutils 包提供，可用于各种基于 Linux 和 BSD 的操作系统。基础用法由于访问权限，普通用户运行 lspci 时显示的信息可能会受限，因此可以使用 sudo 运行命令，系统会给出完整的信息图。直接运行 lspci 命令会列出 PCI 总线及其连接的设备，下图是在我的媒体中心 PC 上的演示样例。图中是一个基于 AMD Phenom CPU 的系统，所以它有一个 AMD 芯片组，以及 Atheros 无线适配器和 Nvidia 显卡。所有硬件设备都列出了详细信息，例如供应商、名称和型号等：$ sudo lspci 00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge 00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780 PCI to PCI bridge (ext gfx port 0) 00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0) 00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1) 00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller 00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller 00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c) 00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller 00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge 00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Conf…

使用开源工具升级你的 Linux PC 硬件
type: item
date: 2021-06-10T04:44:52+08:00
description: 升级你的电脑硬件来提升性能，以获得最大的回报。在我的文章《使用开源工具识别 Linux 性能瓶颈》中，我解释了一些使用开源的图形用户界面（GUI）工具监测 Linux 性能的简单方法。我的重点是识别 性能瓶颈，即硬件资源达到极限并阻碍你的 PC 性能的情况。你会如何解决性能瓶颈问题呢？你可以调整应用程序或系统软件。或者你可以运行更高效的应用程序。你甚至可以改变你使用电脑的行为，例如，将后台程序安排在非工作时间。你也可以通过硬件升级来提高电脑的性能。本文重点介绍可以给你带来最大回报的升级。开源工具是关键。GUI 工具可以帮助你监控你的系统，预测哪些硬件改进会有效。否则，你可能买了硬件后发现它并没有提高性能。在升级之后，这些工具也有助于验证升级是否产生了你预期的好处。这篇文章概述了一种简单的 PC 硬件升级的方法，其“秘诀”是开源的 GUI 工具。如何升级内存几年前，升级内存是不用多想的。增加内存几乎总是能提高性能。今天，情况不再是这样了。个人电脑配备了更多的内存，而且 Linux 能非常有效地使用它。如果你购买了系统用不完的内存，就浪费了钱。因此，你要花一些时间来监测你的电脑，看看内存升级是否会有助于提升它的性能。例如，在你进行典型的一天工作时观察内存的使用情况。而且一定要检查在内存密集型工作负载中发生了什么。各种各样的开源工具可以帮助你进行这种监测，不过我用的是 GNOME 系统监视器。它在大多数 Linux 软件库中都有。当你启动系统监视器时，它的“资源”面板会显示这样的输出：图 1. 用 GNOME 系统监视器监控内存 (Howard Fosdick, CC BY-SA 4.0)屏幕中间显示了内存的使用情况。交换空间 是 Linux 在内存不足时使用的磁盘空间。Linux 通过使用交换空间作为内存的一个较慢的扩展来有效地增加内存。由于交换空间比内存慢，如果内存交换活动变得显著，增加内存将改善你的计算机的性能。你会得到多大的改善取决于交换活动的数量和交换空间所在的设备的速度。如果使用了大量的交换空间，你通过增加内存会得到比只使用了少量交换空间更多的性能改善。如果交换空间位于慢速的机械硬盘上，你会发现增加内存比将交换空间放在最快的固态硬盘上改善更多。下面是一个关于何时增加内存的例子。这台电脑在内存利用率达到 80% 后显示交换活动在增加。当内存利用率超过 90% 时，它就变得失去反应了。图 2. 内存升级会有帮助（Howard Fosdick, CC BY-SA 4.0)如何进行内存升级在升级之前，你需要确定你有多少个内存插槽，有多少个是空的，它们需要什么样的内存条，以及你的主板所允许的最大内存。你可以阅读你的计算机的文档来获得这些答案。或者，你可以直接输入这些 Linux 命令行：问题命令已安装的内存条有什么特点？sudo lshw -short -C memory这台计算机允许的最大内存是多少？`sudo dmidecode -t memorygrep -i max`有多少个内存插槽是空的？（没有输出意味着没有可用的）`sudo lshw -short -C memorygrep -i empty`与所有的硬件升级一样，事先拔掉计算机的电源插头。在你接触硬件之前，将自己接地 —— 即使是最微小的电涌也会损坏电路。将内存条完全插入主板的插槽中。升级后，启动系统监视器。运行之前使你的内存超载的相同程序。系统监控器应该显示出你扩充的内存，而且你应该发现性能更好了。如何升级存储我们正处在一个存储快速改进的时代。即使是只用了几年的计算机也可以从磁盘升级中受益。但首先，你要确保升级对你的计算机和工作负载是有意义的。首先，要找出你有什么磁盘。许多开源工具会告诉你。Hardinfo 或 GNOME 磁盘 是不错的选择，因为它们都是广泛可用的，而且它们的输出很容易理解。这些应用程序会告诉你磁盘的品牌、型号和其他细节。接下来，通过基准测试来确定你的磁盘性能。GNOME 磁盘让这一切变得简单。只要启动该工具并点击它的“磁盘基准测试”选项。这会给出你磁盘的读写率和平均磁盘访问时间。图 3. GNOME 磁盘基准输出（Howard Fosdick, CC BY-SA 4.0)有了这些信息，你可以在 PassMark Software 和 UserBenchmark 等基准测试网站上将你的磁盘与其他人进行比较。这些网站提供性能统计、速度排名，甚至价格和性能数字。你可以了解到你的磁盘与可能的替代品相比的情况。下面是你可以在 UserBenchmark 找到的一些详细磁盘信息的例子。图 4. 在 UserBenchmark 进行的磁盘比较监测磁盘利用率就像你对内存所做的那样，实时监控你的磁盘，看看更换磁盘是否会提高性能。atop 命令行 会告诉你一个磁盘…

如何使用 lshw 查看 Linux 设备信息
type: item
date: 2020-10-10T16:55:34+08:00
description: Linux 系统上的 lshw 命令提供的系统设备信息比我们大多数人想象的要多得多。虽然 lshw 命令（ 列出硬件 list hardware ，读作 “ls hardware”）远不是每个人最先学会的 50 个 Linux 命令之一，但它可以提供很多系统硬件的有用信息。它以一种相当易于理解的格式提取出可能比你知道的更多的信息。在看到描述、（设备）逻辑名称、大小等以后，你可能会理解到自己能获得多少信息。这篇文章会研究 lshw 给出的信息，但侧重于磁盘及相关硬件。下面是 lshw 的输出示例：$ sudo lshw -C disk *-disk:0 description: SCSI Disk product: Card Reader-1 vendor: JIE LI physical id: 0.0.0 bus info: scsi@4:0.0.0 logical name: /dev/sdc version: 1.00 capabilities: removable configuration: logicalsectorsize=512 sectorsize=512 *-medium physical id: 0 logical name: /dev/sdc 请注意，你需要使用 sudo 运行 lshw 命令以确保能得到所有可用的信息。虽然我们在上面的命令中要求了输出“磁盘（disk）”（上面只包含了原始输出里五个条目中的一个），这里的输出却不是一个硬盘，而是读卡器——磁盘的一种。注意系统将这个设备命名为了 /dev/sdc。系统的主磁盘上也有相似的信息：*-disk description: ATA Disk product: SSD2SC120G1CS175 physical id: 0 bus info: scsi@0:0.0.0 logical name: /dev/sda <==这里 version: 1101 serial: PNY20150000778410606 size: 111GiB (120GB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature= f63b5929 这块硬盘是 /dev/sda。这个系统上的硬盘都显示为 ATA 磁盘，ATA 是一种把控制器与盘体集成在一起的磁盘驱动器实现。要获得“磁盘”类设备的简略列表，可以运行下面这条命令。注意其中有两个设备被列出了两次，所以我们看到的仍然是五个磁盘设备。$ sudo lshw -short -C disk H/W path Device Class Description ============================================================= /0/100/1d/1/1/0.0.0 /dev/sdc disk Card Reader-1 /0/100/1d/1/1/0.0.0/0 /dev/sdc disk /0/100/1d/1/1/0.0.1 /dev/sdd disk 2 /0/100/1d/1/1/0.0.1/0 /dev/sdd disk /0/100/1f.2/0 /dev/sda disk 120GB SSD2SC120G1CS175 /0/100/1f.2/1 /dev/cdrom disk DVD+-RW GSA-H73N /0/100/1f.5/0.0.0 /dev/sdb disk 500GB SAMSUNG HE502HJ 如果你决定要查看系统上的 所有 设备，请坐稳了；你会得到一个包含的东西比你通常认为的“设备”要多得多的列表，下面是一个例子，这是一个“简短（short）”（信息很少）的列表：$ sudo lshw -short [sudo] password for shs: H/W path Device Class Description ============================================================= system Inspiron 530s /0 bus 0RY007 /0/0 memory 128KiB BIOS /0/4 processor Intel(R) Core(TM)2 Duo CPU /0/4/a memory 32KiB L1 cache /0/4/b memory 6MiB L2 cache /0/24 memory 6GiB System Memory /0/24/0 memory 2GiB DI…

使用 RT-Thread 的 FinSH 对硬件进行编程
type: item
date: 2020-09-30T07:31:42+08:00
description: 由于物联网（IoT）的兴起，对硬件进行编程变得越来越普遍。RT-Thread 可以让你可以用 FinSH 从 Linux 命令行与设备进行沟通、RT-Thread 是一个开源的实时操作系统，用于对物联网（IoT）设备进行编程。FinSH 是 RT-Thread 的命令行组件，它提供了一套操作界面，使用户可以从命令行与设备进行沟通。它主要用于调试或查看系统信息。通常情况下，开发调试使用硬件调试器和 printf 日志来显示。但在某些情况下，这两种方法并不是很有用，因为它是从运行的内容中抽象出来的，而且它们可能很难解析。不过 RT-Thread 是一个多线程系统，当你想知道一个正在运行的线程的状态，或者手动控制系统的当前状态时，这很有帮助。因为它是多线程的，所以你能够拥有一个交互式的 shell，你可以直接在设备上输入命令、调用函数来获取你需要的信息，或者控制程序的行为。如果你只习惯于 Linux 或 BSD 等现代操作系统，这在你看来可能很普通，但对于硬件黑客来说，这是极其奢侈的，远超将串行电缆直接连线到电路板上以获取一丝错误的做法。FinSH 有两种模式。C 语言解释器模式，称为 c-style。传统的命令行模式，称为 msh（模块 shell）。在 C 语言解释器模式下，FinSH 可以解析执行大部分 C 语言的表达式，并使用函数调用访问系统上的函数和全局变量。它还可以从命令行创建变量。在 msh 模式下，FinSH 的操作与 Bash 等传统 shell 类似。GNU 命令标准当我们在开发 FinSH 时，我们了解到，在编写命令行应用程序之前，你需要熟悉 GNU 命令行标准。这个标准实践的框架有助于给界面带入熟悉感，这有助于开发人员在使用时感到舒适和高效。一个完整的 GNU 命令主要由四个部分组成。命令名（可执行文件）：命令行程序的名称；子命令：命令程序的子函数名称。选项：子命令函数的配置选项。参数：子命令函数配置选项的相应参数。你可以在任何命令中看到这一点。以 Git 为例：git reset --hard HEAD~1 这一点可以分解为：可执行的命令是 git，子命令是 reset，使用的选项是 --head，参数是 HEAD~1。再举个例子：systemctl enable --now firewalld 可执行的命令是 systemctl，子命令是 enable，选项是 --now，参数是 firewalld。想象一下，你想用 RT-Thread 编写一个符合 GNU 标准的命令行程序。FinSH 拥有你所需要的一切，并且会按照预期运行你的代码。更棒的是，你可以依靠这种合规性，让你可以自信地移植你最喜欢的 Linux 程序。编写一个优雅的命令行程序下面是一个 RT-Thread 运行命令的例子，RT-Thread 开发人员每天都在使用这个命令：usage: env.py package [-h] [--force-update] [--update] [--list] [--wizard] [--upgrade] [--printenv] optional arguments: -h, --help show this help message and exit --force-update force update and clean packages, install or remove the packages by your settings in menuconfig --update update packages, install or remove the packages by your settings in menuconfig --list list target packages --wizard create a new package with wizard --upgrade upgrade local packages list and ENV scripts from git repo --printenv print environmental variables to check 正如你所看到的那样，它看起来很熟悉，行为就像你可能已经在 Linux 或 BSD 上运行的大多数 POSIX 应用程序一样。当使用不正确或不充分的语法时，它会提供帮助，它支持长选项和短选项。这种通用的用户界面对于任何使用过 Unix 终端的人来说都是熟悉的。选项种类选项的种类很多，按长短可分为两大类。短选项：由一个连字符加一个字母组成，如 pkgs -h 中的 -h 选项。长选项：由两个连字符加上单词或字母组成，例如，scons- --target-mdk5 中的 --target 选项。你可以把这…

Linux 硬件故障排除指南
type: item
date: 2020-03-03T18:13:22+08:00
description: 了解是什么原因导致你的 Linux 硬件发生故障，以便你可以将其恢复并快速运行。Linux 服务器在物理机、虚拟化、私有云、公共云和混合云等许多不同种类的基础设施中运行着关键的业务应用程序。对于 Linux 系统管理员来说，了解如何管理 Linux 硬件基础设施（包括与 网络、存储、Linux 容器相关的软件定义功能）和 Linux 服务器上的多种工具非常重要。在 Linux 上进行排除和解决与硬件相关的问题可能需要一些时间。即使是经验丰富的系统管理员，有时也会花费数小时来解决神秘的硬件和软件差异。以下提示可以使你更快、更轻松地对 Linux 中的硬件进行故障排除。许多不同的事情都可能导致 Linux 硬件出现问题。在开始诊断它们之前，明智的做法是了解最常见的问题以及最有可能找到问题的地方。快速诊断设备、模块和驱动程序故障排除的第一步通常是显示 Linux 服务器上安装的硬件的列表。你可以使用诸如 lspci、lsblk、lscpu 和 lsscsi 之类的列出命令获取有关硬件的详细信息。例如，这是 lsblk 命令的输出：# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 50G 0 disk ├─xvda1 202:1 0 1M 0 part └─xvda2 202:2 0 50G 0 part / xvdb 202:16 0 20G 0 disk └─xvdb1 202:17 0 20G 0 part如果这些列出命令没有显示任何错误，请使用初始化系统（例如 systemd）查看 Linux 服务器的工作方式。 systemd 是最流行的初始化系统，用于启动用户空间并控制多个系统进程。例如，这是 systemctl status 命令的输出：# systemctl status ● bastion.f347.internal State: running Jobs: 0 queued Failed: 0 units Since: Wed 2018-11-28 01:29:05 UTC; 2 days ago CGroup: / ├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 ├─kubepods.slice │ ├─kubepods-pod3881728a_f2af_11e8_af77_06af52f87498.slice │ │ ├─docker-88b27385f4bae77bba834fbd60a61d19026bae13d18eb147783ae27819c34967.scope │ │ │ └─23860 /opt/bridge/bin/bridge --public-dir=/opt/bridge/static --config=/var/console-config/console-c │ │ └─docker-a4433f0d523c7e5bc772ee4db1861e4fa56c4e63a2d48f6bc831458c2ce9fd2d.scope │ │ └─23639 /usr/bin/pod ....深入到各个日志当中使用 dmesg 可以找出内核最新消息中的错误和警告。例如，这是 dmesg | more 命令的输出：# dmesg | more .... [ 1539.027419] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 1539.042726] IPv6: ADDRCONF(NETDEV_UP): veth61f37018: link is not ready [ 1539.048706] IPv6: ADDRCONF(NETDEV_CHANGE): veth61f37018: link becomes ready [ 1539.055034] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 1539.098550] device veth61f37018 entered promiscuous mode [ 1541.450207] device veth61f37018 left promiscuous mode [ 1542.493266] SELinux: mount invalid. Same superblock, different security settings for (dev mqueue, type mqueue) [ 9965.292788] SELinux: mount …

用 Linux 命令显示硬件信息
type: item
date: 2019-10-04T20:06:00+08:00
description: 通过命令行获取计算机硬件详细信息。你可能会有很多的原因需要查清计算机硬件的详细信息。例如，你需要修复某些问题并在论坛上发出请求，人们可能会立即询问你的计算机具体的信息。或者当你想要升级计算机配置时，你需要知道现有的硬件型号和能够升级的型号。这些都需要查询你的计算机具体规格信息。最简单的方法是使用标准的 Linux GUI 程序之一:i-nex 收集硬件信息，并且类似于 Windows 下流行的 CPU-Z 的显示。HardInfo 显示硬件具体信息，甚至包括一组八个的流行的性能基准程序，你可以用它们评估你的系统性能。KInfoCenter 和 Lshw 也能够显示硬件的详细信息，并且可以从许多软件仓库中获取。或者，你也可以拆开计算机机箱去查看硬盘、内存和其他设备上的标签信息。或者你可以在系统启动时，按下相应的按键进入 UEFI 和 BIOS 界面获得信息。这两种方式都会向你显示硬件信息但省略软件信息。你也可以使用命令行获取硬件信息。等一下… 这听起来有些困难。为什么你会要这样做？有时候通过使用一条针对性强的命令可以很轻松的找到特定信息。也可能你没有可用的 GUI 程序或者只是不想安装这样的程序。使用命令行的主要原因可能是编写脚本。无论你是使用 Linux shell 还是其他编程语言来编写脚本通常都需要使用命令行。很多检测硬件信息的命令行都需要使用 root 权限。所以要么切换到 root 用户，要么使用 sudo 在普通用户状态下发出命令：sudo <the_line_command> 并按提示输入你的密码。这篇文章介绍了很多用于发现系统信息的有用命令。文章最后的快速查询表对它们作出了总结。硬件概述下面几条命令可以全面概述计算机硬件信息。inxi 命令能够列出包括 CPU、图形、音频、网络、驱动、分区、传感器等详细信息。当论坛里的人尝试帮助其他人解决问题的时候，他们常常询问此命令的输出。这是解决问题的标准诊断程序：inxi -Fxz-F 参数意味着你将得到完整的输出，x 增加细节信息，z 参数隐藏像 MAC 和 IP 等私人身份信息。hwinfo 和 lshw 命令以不同的格式显示大量相同的信息：hwinfo --short或lshw -short这两条命令的长格式输出非常详细，但也有点难以阅读：hwinfo或lshwCPU 详细信息通过命令你可以了解关于你的 CPU 的任何信息。使用 lscpu 命令或与它相近的 lshw 命令查看 CPU 的详细信息：lscpu或lshw -C cpu在这两个例子中，输出的最后几行都列出了所有 CPU 的功能。你可以查看你的处理器是否支持特定的功能。使用这些命令的时候，你可以通过使用 grep 命令过滤复杂的信息，并缩小所需信息范围。例如，只查看 CPU 品牌和型号:lshw -C cpu | grep -i product仅查看 CPU 的速度（兆赫兹）:lscpu | grep -i mhz或其 BogoMips 额定功率:lscpu | grep -i bogogrep 命令的 -i 参数代表搜索结果忽略大小写。内存Linux 命令行使你能够收集关于你的计算机内存的所有可能的详细信息。你甚至可以不拆开计算机机箱就能确定是否可以为计算机添加额外的内存条。使用 dmidecode 命令列出每根内存条和其容量：dmidecode -t memory | grep -i size使用以下命令获取系统内存更多的信息，包括类型、容量、速度和电压：lshw -short -C memory你肯定想知道的一件事是你的计算机可以安装的最大内存：dmidecode -t memory | grep -i max现在检查一下计算机是否有空闲的插槽可以插入额外的内存条。你可以通过使用命令在不打开计算机机箱的情况下就做到：lshw -short -C memory | grep -i empty输出为空则意味着所有的插槽都在使用中。确定你的计算机拥有多少显卡内存需要下面的命令。首先使用 lspci 列出所有设备信息然后过滤出你想要的显卡设备信息:lspci | grep -i vga视频控制器的设备号输出信息通常如下：00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)现在再加上视频设备号重新运行 lspci 命令：lspci -v -s 00:02.0输出信息中 prefetchable 那一行显示了系统中的显卡内存大小:... Memory at f0100000 (32-bit, non-prefetchable) [size=512K] I/…

如何在 Linux 上查找硬件规格
type: item
date: 2019-08-06T19:17:43+08:00
description: 在 Linux 系统上有许多工具可用于查找硬件规格。在这里，我列出了四种最常用的工具，可以获取 Linux 系统的几乎所有硬件（和软件）细节。好在是这些工具在某些 Linux 发行版上默认预装。我在 Ubuntu 18.04 LTS 桌面上测试了这些工具，但是它们也适用于其他 Linux 发行版。1、LSHWlshw（硬件列表）是一个简单但功能齐全的实用程序，它提供了 Linux 系统上的硬件规格的详细信息。它可以报告确切的内存规格、固件版本、主板规格、CPU 版本和速度、缓存规格、总线速度等。信息可以以纯文本、XML 或 HTML 格式输出。它目前支持 DMI（仅限 x86 和 EFI）、Open Firmware 设备树（仅限 PowerPC）、PCI/AGP、ISA PnP（x86）、CPUID（x86）、IDE/ATA/ATAPI、PCMCIA（仅在 x86 上测试过）、USB 和 SCSI。就像我已经说过的那样，Ubuntu 默认预装了 lshw。如果它未安装在你的 Ubuntu 系统中，请使用以下命令安装它：$ sudo apt install lshw lshw-gtk在其他 Linux 发行版上，例如 Arch Linux，运行：$ sudo pacman -S lshw lshw-gtk安装后，运行 lshw 以查找系统硬件详细信息：$ sudo lshw你将看到输出详细的系统硬件。示例输出：使用 lshw 在 Linux 上查找硬件规格请注意，如果你没有以 sudo 权限运行 lshw 命令，则输出可能不完整或不准确。lshw 可以将输出显示为 HTML 页面。为此，请使用：$ sudo lshw -html同样，我们可以将设备树输出为 XML 和 json 格式，如下所示：$ sudo lshw -xml $ sudo lshw -json要输出显示硬件路径的设备树，请使用 -short 选项：$ sudo lshw -short使用 lshw 显示具有硬件路径的设备树要列出设备的总线信息、详细的 SCSI、USB、IDE 和 PCI 地址，请运行：$ sudo lshw -businfo默认情况下，lshw 显示所有硬件详细信息。你还可以使用类选项查看特定硬件详细信息的硬件信息，例如处理器、内存、显示器等。可以使用 lshw -short 或 lshw -businfo 找到类选项。要显示特定硬件详细信息，例如处理器，请执行以下操作：$ sudo lshw -class processor示例输出：*-cpu description: CPU product: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz vendor: Intel Corp. physical id: 4 bus info: [email protected] version: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz serial: To Be Filled By O.E.M. slot: CPU 1 size: 913MHz capacity: 2300MHz width: 64 bits clock: 100MHz capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts md_clear flush_l1d cpufreq configuration: cores=2 enabledcores=1 threads=2类似的，你可以得到系统细节：$ sudo lshw -class system硬盘细节：$ sudo lshw -c…

如何在 Linux 中查看系统硬件制造商、型号和序列号
type: item
date: 2018-08-19T18:17:14+08:00
description: 对于 Linux 图形界面用户和 Windows 用户来说获取系统硬件信息都不算问题，但是对命令行用户来说想要获取这些细节时有点儿麻烦。甚至我们中的大多数都不知道获取这些信息最好的命令是什么。Linux 中有许多可用的工具集来获取诸如制造商、型号和序列号等硬件信息。在这里我尝试写下获取这些细节的可能的方式，你可以挑选一种最好用的。你必须知道所有这些信息，因为当你向硬件制造商提交任何硬件问题时，你会需要它们。这可以通过 6 种方法来实现，下面我来演示一下怎么做。方法一：使用 dmidecode 命令dmidecode 是一个读取电脑 DMI（ 桌面管理接口 Desktop Management Interface ）表内容并且以人类可读的格式显示系统硬件信息的工具。（也有人说是读取 SMBIOS —— 系统管理 BIOS System Management BIOS ）这个表包含系统硬件组件的说明，也包含如序列号、制造商、发布日期以及 BIOS 修订版本号等其它有用的信息。DMI 表不仅描述了当前的系统构成，还可以报告可能的升级信息（比如可以支持的最快的 CPU 或者最大的内存容量）。这将有助于分析你的硬件兼容性，比如是否支持最新版本的程序。# dmidecode -t system # dmidecode 2.12 # SMBIOS entry point at 0x7e7bf000 SMBIOS 2.7 present. Handle 0x0024, DMI type 1, 27 bytes System Information Manufacturer: IBM Product Name: System x2530 M4: -[1214AC1]- Version: 0B Serial Number: MK2RL11 UUID: 762A99BF-6916-450F-80A6-B2E9E78FC9A1 Wake-up Type: Power Switch SKU Number: Not Specified Family: System X Handle 0x004B, DMI type 12, 5 bytes System Configuration Options Option 1: JP20 pin1-2: TPM PP Disable, pin2-3: TPM PP Enable Handle 0x004D, DMI type 32, 20 bytes System Boot Information Status: No errors detected 推荐阅读： Dmidecode –– 获取 Linux 系统硬件信息的简单方式方法二：使用 inxi 命令inxi 是 Linux 上查看硬件信息的一个灵巧的小工具，它提供了大量的选项来获取所有硬件信息，这是我在现有的其它 Linux 工具集里所没见到过的。它是从 locsmif 编写的古老的但至今看来都异常灵活的 infobash fork 出来的。inxi 是一个可以快速显示系统硬件、CPU、驱动、Xorg、桌面、内核、GCC 版本、进程、内存使用以及大量其它有用信息的脚本，也可以用来做技术支持和调试工具。# inxi -M Machine: Device: server System: IBM product: N/A v: 0B serial: MK2RL11 Mobo: IBM model: 00Y8494 serial: 37M17D UEFI: IBM v: -[VVE134MUS-1.50]- date: 08/30/2013 推荐阅读： inxi —— 一个很棒的查看 Linux 硬件信息的工具方法三：使用 lshw 命令lshw（指 硬件监听器 Hardware Lister ）是一个小巧灵活的工具，可以生成如内存配置、固件版本、主板配置、CPU 版本和速度、缓存配置、USB、网卡、显卡、多媒体、打印机以及总线速度等机器中各种硬件组件的详细报告。它通过读取 /proc 目录下各种文件的内容和 DMI 表来生成硬件信息。lshw 必须以超级用户的权限运行来检测完整的硬件信息，否则它只汇报部分信息。lshw 里有一个叫做 class 的特殊选项，它可以以详细的模式显示特定的硬件信息。# lshw -C system enal-dbo01t description: Blade product: System x2530 M4: -[1214AC1]- vendor: IBM version: 0B serial: MK2RL11 width: 64 bits capabilities: smbios-2.7 dmi-2.7 vsyscall32 conf…