侧边栏壁纸
博主头像
CloudServerBox 博主等级

行动起来,活在当下

  • 累计撰写 28 篇文章
  • 累计创建 31 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【全网首发】参考级测评脚本——硬件质量体检脚本bash <(curl -Ls Hardware.Check.Place)

CloudServerBox
2026-01-26 / 0 评论 / 0 点赞 / 36 阅读 / 0 字
温馨提示:
本文最后更新于2026-01-26,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

原文链接:https://www.nodeseek.com/post-584268-1

前言

2024-IP质量体检脚本,2025-网络质量体检脚本。衷心感谢大家一直以来对xy系列脚本的肯定和喜爱,前两个脚本也分别获得了6K+/4K+Stars的好成绩,也推动我在2026为大家带来服务器检测这一系列脚本的第三弹,也是最终弹——硬件质量体检脚本。算是兑现了先前立下一年一作品的Flag,今年可以先行躺平了。 说到躺平,讲真,晚上下班回来不躺平,还要连夜写代码真的挺伤身体的。创作脚本对于我本是自选的娱乐项目。白天板砖忙正事,晚上摸黑写代码,往往越写越精神,有时候为了抠细节,搞到凌晨两三点那都是是家常便饭,次日还要早起,自娱已然被搞成了自虐,只有心中的点点星光在推动我探索前进。好在AI技术进步了,硬件质量脚本只用了半个月的时间就搞定了,不像之前的网络脚本,爆肝了近两个月,真是元气大伤。 虽然硬件脚本的创作周期变短了,但是对我来讲,严谨的风格,一丝不苟的态度,工匠的精神丝毫没有减弱。我立志于以合理的篇幅承载尽可能多的有效信息量,给各位呈现以最丰满的测评,以及最赏心悦目的输出。之前跟酒神聊到大家可能已经习惯了yabs的输出方式,新脚本可能不会习惯,对此,我不在乎,因为我的存在就是为了改变大家的习惯(致敬乔布斯)!让大家发现检测硬件的乐趣,让检测报告成为优雅的作品,让大家玩机烧机更能乐在其中! 好了,废话至此,请大家品鉴

GitHub项目地址(欢迎Star关注): https://github.com/xykt/HardwareQuality

image
LICENSE

硬件质量体检脚本 - Hardware Quality Check Script (EN)

支持OS/Platform:Ubuntu | Debian | Linux Mint | Fedora | Red Hat Enterprise Linux (RHEL) | CentOS | Arch Linux | Manjaro | Alpine Linux | AlmaLinux | Rocky Linux | Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE | Void Linux | Windows (via Docker)

  • 努力做市面最好的硬件检测脚本

  • 中英文双语言支持

  • 精美排版,直观显示,多终端单屏优化展示,便于截图分享

  • 服务器/VPS虚拟机/容器/裸金属包络ARM/AMD多架构设备

  • CPU/GPU/内存/硬盘/主板/声卡/网卡等全面的硬件信息采集

  • 自动化sysbench/fio/Geekbench针对CPU/GPU/内存/硬盘作全面测评,可视化基准对比,性能一目了然

  • 自动识别操作系统发行版、内核版本与运行环境,了解系统运行状态

  • 主板:采集主板型号、BIOS信息与板载设备,包括声卡网卡等,适用于服务器与工控设备识别

  • CPU:全面解析CPU型号、架构、核心、线程数与频率信息,烤机测试直观了解性能,同时监测烤机温度,方便评估优化

  • 显卡:自动识别独立显卡与集成显卡,解析厂商与设备信息,分析驱动环境,监测温度,直观评分

  • 内存:获取总容量、已用/可用内存及使用率,统计内存插槽与条数,测试带宽与延迟,适配多通道与服务器内存配置

  • 硬盘:支持SATA/NVMe/RAID设备识别,自动匹配挂载点与测试设备,解析SMART/NVMe健康数据,通过fio性能测试完整模拟CrystalDiskMark/ATTO可视化测试工况

  • Json输出便于大数据分析

屏幕截图

标准测试

硬盘模式

disk
disk_cn-gTJc.png

使用方法

便捷模式:交

Hardware
ash:
bash <(curl -Ls https://Check.Place) -H
Docker(不推荐):
  • Linux

docker run --rm -it --privileged --net=host --pid=host -v /:/host:ro xykt/check -H && docker rmi xykt/check > /dev/null 2>&1
  • Windows (CMD)

docker run --rm -it --privileged xykt/check -H & docker rmi xykt/check > NUL 2>&1

Windows架构限制无法获得完整硬件信息

高级模式:参数运行

Help
标准检测:
bash <(curl -Ls https://Hardware.Check.Place)
快速模式:
bash <(curl -Ls https://Hardware.Check.Place) -F
硬盘模式:
bash <(curl -Ls https://Hardware.Check.Place) -D
指定硬盘检测路径:
bash <(curl -Ls https://Hardware.Check.Place) -d /path/to/testdir
跳过任意章节:
bash <(curl -Ls https://Hardware.Check.Place) -S 1234567
中英文双语支持:
bash <(curl -Ls https://Hardware.Check.Place) -l cn|en
Json输出(输出示例):
bash <(curl -Ls https://Hardware.Check.Place) -j
输出报告ANSI/JSON/纯文本至文件:
bash <(curl -Ls https://Hardware.Check.Place) -o /path/to/file.ansi
bash <(curl -Ls https://Hardware.Check.Place) -o /path/to/file.json
bash <(curl -Ls https://Hardware.Check.Place) -o /path/to/file.txtoranyother
跳过检测系统及安装依赖:
bash <(curl -Ls https://Hardware.Check.Place) -n
自动安装依赖:
bash <(curl -Ls https://Hardware.Check.Place) -y
报告展示完整IP地址及路径信息:
bash <(curl -Ls https://Hardware.Check.Place) -f
隐私模式——禁用在线报告生成功能:
bash <(curl -Ls https://Hardware.Check.Place) -p
Docker(支持运行参数,须在&前插入)(不建议):
  • Linux命令行

docker run --rm -it --privileged --net=host --pid=host -v /:/host:ro xykt/hardwarequality && docker rmi xykt/hardwarequality > /dev/null 2>&1
  • Windows (CMD)

docker run --rm -it --privileged xykt/hardwarequality & docker rmi xykt/hardwarequality > NUL 2>&1

Windows架构限制无法获得完整硬件信息

脚本贡献

Acknowledgments:

  • 感谢 @酒神 ,你为脚本提供了技术支持及宝贵建议

Daily Runs History:

daily_runs_history

附录

  • JSON输出

{
  "Head": {
    "IP": "221.223.*.*",
    "Command": "bash <(curl -sL https://Check.Place) -H",
    "GitHub": "https://github.com/xykt/HardwareQuality",
    "Time": "2026-01-13 23:57:36 CST",
    "Version": "v2026-01-13"
  },
  "OS": {
    "name": "Debian GNU/Linux 12 (bookworm)",
    "kernel": "6.12.18-trim",
    "architecture": "x86_64",
    "uptime": "",
    "virtualization": {
      "type": "physical-machine",
      "kind": "physical-machine"
    },
    "load_average": {
      "load_1": "0.40",
      "load_5": "0.38",
      "load_15": "0.32"
    },
    "users": {
      "online": "3"
    },
    "processes": {
      "total": "640"
    },
    "services": {
      "running": "85",
      "total": "301"
    },
    "locale": {
      "language": "en_US",
      "charset": "UTF-8"
    },
    "timezone": {
      "name": "Asia/Shanghai ",
      "abbr": "CST",
      "offset": "+0800"
    }
  },
  "Motherboard": {
    "board": {
      "vendor": "TianBei",
      "name": "WTR MAX",
      "version": "",
      "serial": ""
    },
    "bios": {
      "vendor": "American Megatrends International, LLC.",
      "version": "0.01"
    },
    "chipset": {
      "pci_root": "[AMD] Phoenix Root Complex",
      "pch": "[AMD] FCH SMBus Controller"
    },
    "devices": {
      "audio": [
        "[AMD/ATI] Rembrandt Radeon High Definition Audio Controller",
        "[AMD] Family 17h/19h HD Audio Controller"
      ],
      "network": [
        "Intel Ethernet Controller X710 for 10GbE SFP+",
        "Intel Ethernet Controller X710 for 10GbE SFP+",
        "Intel Ethernet Controller I226-V",
        "Intel Ethernet Controller I226-V"
      ]
    },
    "platform": {
      "os": "Linux"
    }
  },
  "CPU": {
    "architecture": "x86_64",
    "model": "AMD Ryzen 7 PRO 8845HS Radeon 780M Graphics",
    "op_mode": "32/64-bit",
    "family": "25",
    "stepping": "2",
    "topology": {
      "sockets": 1,
      "cores_per_socket": 8,
      "threads_per_core": 2,
      "cores": 8,
      "threads": 16,
      "cgroup_threads": null
    },
    "frequency_mhz": {
      "current": 2209.904,
      "min": 400,
      "max": 5137
    },
    "usage_percent": 2,
    "cache": {
      "l1d": "256 KiB",
      "l1i": "256 KiB",
      "l2": "8 MiB",
      "l3": "16 MiB",
      "total_fallback": "",
      "fallback_used": false
    },
    "features": {
      "virtualization": true,
      "aes": true,
      "avx2": true,
      "bmi": true,
      "ept": true,
      "neon": false,
      "sve": false,
      "atomics": false
    },
    "benchmarks": {
      "sysbench": {
        "single": 6143.14,
        "multi": 47592.29
      },
      "geekbench5": {
        "url": "https://browser.geekbench.com/v5/cpu/24035617",
        "single": 1935,
        "multi": 11622
      }
    },
    "temperature": {
      "packages_detected": 1,
      "min": 63,
      "max": 89,
      "packages": [
        {
          "id": 0,
          "min": 63,
          "max": 89
        }
      ]
    },
    "flags": [
      "fpu",
      "vme",
      "de",
      "pse",
      "tsc",
      "msr",
      "pae",
      "mce",
      "cx8",
      "apic",
      "sep",
      "mtrr",
      "pge",
      "mca",
      "cmov",
      "pat",
      "pse36",
      "clflush",
      "mmx",
      "fxsr",
      "sse",
      "sse2",
      "ht",
      "syscall",
      "nx",
      "mmxext",
      "fxsr_opt",
      "pdpe1gb",
      "rdtscp",
      "lm",
      "constant_tsc",
      "rep_good",
      "amd_lbr_v2",
      "nopl",
      "xtopology",
      "nonstop_tsc",
      "cpuid",
      "extd_apicid",
      "aperfmperf",
      "rapl",
      "pni",
      "pclmulqdq",
      "monitor",
      "ssse3",
      "fma",
      "cx16",
      "sse4_1",
      "sse4_2",
      "x2apic",
      "movbe",
      "popcnt",
      "aes",
      "xsave",
      "avx",
      "f16c",
      "rdrand",
      "lahf_lm",
      "cmp_legacy",
      "svm",
      "extapic",
      "cr8_legacy",
      "abm",
      "sse4a",
      "misalignsse",
      "3dnowprefetch",
      "osvw",
      "ibs",
      "skinit",
      "wdt",
      "tce",
      "topoext",
      "perfctr_core",
      "perfctr_nb",
      "bpext",
      "perfctr_llc",
      "mwaitx",
      "cpb",
      "cat_l3",
      "cdp_l3",
      "hw_pstate",
      "ssbd",
      "mba",
      "perfmon_v2",
      "ibrs",
      "ibpb",
      "stibp",
      "ibrs_enhanced",
      "vmmcall",
      "fsgsbase",
      "bmi1",
      "avx2",
      "smep",
      "bmi2",
      "erms",
      "invpcid",
      "cqm",
      "rdt_a",
      "avx512f",
      "avx512dq",
      "rdseed",
      "adx",
      "smap",
      "avx512ifma",
      "clflushopt",
      "clwb",
      "avx512cd",
      "sha_ni",
      "avx512bw",
      "avx512vl",
      "xsaveopt",
      "xsavec",
      "xgetbv1",
      "xsaves",
      "cqm_llc",
      "cqm_occup_llc",
      "cqm_mbm_total",
      "cqm_mbm_local",
      "avx512_bf16",
      "clzero",
      "irperf",
      "xsaveerptr",
      "rdpru",
      "wbnoinvd",
      "cppc",
      "arat",
      "npt",
      "lbrv",
      "svm_lock",
      "nrip_save",
      "tsc_scale",
      "vmcb_clean",
      "flushbyasid",
      "decodeassists",
      "pausefilter",
      "pfthreshold",
      "vgif",
      "x2avic",
      "v_spec_ctrl",
      "vnmi",
      "avx512vbmi",
      "umip",
      "pku",
      "ospke",
      "avx512_vbmi2",
      "gfni",
      "vaes",
      "vpclmulqdq",
      "avx512_vnni",
      "avx512_bitalg",
      "avx512_vpopcntdq",
      "rdpid",
      "overflow_recov",
      "succor",
      "smca",
      "fsrm",
      "flush_l1d"
    ]
  },
  "GPU": {
    "summary": {
      "count": 3,
      "has_dgpu": true,
      "driver_loaded": true,
      "opencl": true,
      "cuda": true
    },
    "devices": [
      {
        "id": 0,
        "type": "integrated",
        "vendor": "AMD",
        "name": "[AMD/ATI] Phoenix3 (rev d5)",
        "vram_gb": 16,
        "max_frequency_mhz": 2700
      }
      {
        "id": 1,
        "type": "discrete",
        "vendor": "NVIDIA",
        "name": "NVIDIA TU104GL [Tesla T4] (rev a1)",
        "vram_gb": 15,
        "max_frequency_mhz": 1590
      },
      {
        "id": 2,
        "type": "discrete",
        "vendor": "NVIDIA",
        "name": "NVIDIA TU104GL [Tesla T4] (rev a1)",
        "vram_gb": 15,
        "max_frequency_mhz": 1590
      }
    ],
    "benchmarks": {
      "geekbench5": {
        "url": "https://browser.geekbench.com/v5/compute/6920300",
        "score": 72889,
        "api": "OpenCL"
      }
    },
    "temperature": {
      "devices_detected": 2,
      "min": 27,
      "max": 33,
      "devices": [
        {
          "id": 0,
          "min": 30,
          "max": 33
        },
        {
          "id": 1,
          "min": 27,
          "max": 28
        }
      ]
    }
  },
  "Memory": {
    "summary": {
      "total": "46.9 GB",
      "used": "2.2 GB",
      "available": "44.7 GB",
      "used_percent": 5,
      "avail_percent": 95
    },
    "swap": {
      "total": "8.0 GB",
      "used": "1.5 GB",
      "available": "6.5 GB",
      "used_percent": 19,
      "avail_percent": 81
    },
    "devices": [
      {
        "id": 0,
        "slot": "P0A",
        "size": "32GB",
        "type": "DDR5",
        "speed_mhz": 5600,
        "vendor": "Hynix",
        "serial": "87AC7C01",
        "part_number": "HMCG88AGBAA092N"
      },
      {
        "id": 1,
        "slot": "P0B",
        "size": "32GB",
        "type": "DDR5",
        "speed_mhz": 5600,
        "vendor": "Hynix",
        "serial": "87AC7ADF",
        "part_number": "HMCG88AGBAA092N"
      }
    ],
    "virtualization": {
      "balloon": false,
      "ksm": false,
      "neighbor": null
    },
    "benchmarks": {
      "read_MBps": 68130.5,
      "write_MBps": 42916.3,
      "latency_ns": 91
    }
  },
  "Disk": {
    "summary": {
      "total_bytes": 163245299515392,
      "used_bytes": 50186237676521,
      "avail_bytes": 113035211333655,
      "used_percent": 30,
      "avail_percent": 70
    },
    "devices": [
      {
        "id": 1,
        "name": "sda",
        "device": "/dev/sda",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61W0A1ZX",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 92,
          "power_hours": 26620,
          "temperature": 47,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 2,
        "name": "sdb",
        "device": "/dev/sdb",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61W0A029",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 116,
          "power_hours": 26211,
          "temperature": 48,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 3,
        "name": "sdc",
        "device": "/dev/sdc",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61D0A3MQ",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 78,
          "power_hours": 19899,
          "temperature": 48,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 4,
        "name": "sdd",
        "device": "/dev/sdd",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61E0A26U",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 90,
          "power_hours": 19935,
          "temperature": 49,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 5,
        "name": "sde",
        "device": "/dev/sde",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61E0A2PX",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 83,
          "power_hours": 19857,
          "temperature": 50,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 6,
        "name": "sdf",
        "device": "/dev/sdf",
        "type": "HDD",
        "model": "MG08ACA16TE 00MX141",
        "serial": "61D0A3J5",
        "firmware": "TJ83",
        "capacity": "16.0TB",
        "rotation_rpm": "7200rpm",
        "form_factor": "3.5\"",
        "health": {
          "power_cycles": 84,
          "power_hours": 19890,
          "temperature": 49,
          "smart_status": "PASSED",
          "smart": {
            "01": 0,
            "05": 0,
            "BB": 0,
            "C4": 0,
            "C5": 0,
            "C6": 0
          }
        }
      },
      {
        "id": 7,
        "name": "nvme0",
        "device": "/dev/nvme0n1",
        "type": "NVMe",
        "model": "SAMSUNG MZVLW256HEHP-000L7",
        "serial": "S35ENA0JA17144",
        "firmware": "4L7QCXB7",
        "capacity": "256GB",
        "rotation_rpm": "",
        "form_factor": "",
        "health": {
          "power_cycles": 271,
          "power_hours": 4209,
          "temperature": 50,
          "smart_status": "PASSED",
          "read": 20567295,
          "write": 39974696,
          "life_percent": 94,
          "spare_percent": 100
        }
      },
      {
        "id": 8,
        "name": "nvme1",
        "device": "/dev/nvme1n1",
        "type": "NVMe",
        "model": "YMTC PC300-1TB-B",
        "serial": "YMA21T0KA2403202BP",
        "firmware": "YM0500CC",
        "capacity": "1.02TB",
        "rotation_rpm": "",
        "form_factor": "",
        "health": {
          "power_cycles": 95,
          "power_hours": 4204,
          "temperature": 55,
          "smart_status": "PASSED",
          "read": 577127455,
          "write": 143608887,
          "life_percent": 91,
          "spare_percent": 100
        }
      }
    ],
    "raid": [
      {
        "name": "md127",
        "level": "RAID5",
        "members": [
          "sde1[5]",
          "sda1[0]",
          "sdc1[3]",
          "sdf1[4]",
          "sdb1[1]",
          "sdd1[2]"
        ],
        "mountpoint": ""
      },
      {
        "name": "md1",
        "level": "RAID1",
        "members": [
          "nvme0n1p3[0]"
        ],
        "mountpoint": ""
      },
      {
        "name": "md0",
        "level": "LINEAR",
        "members": [
          "nvme1n1p1[0]"
        ],
        "mountpoint": "/vol2"
      }
    ],
    "test": {
      "directory": "/h**e/x*****s",
      "device": "nvme0n1p2",
      "device_type": "DISK",
      "members": [],
      "mountpoint": ""
    },
    "benchmarks": {
      "fio": {
        "read": {
          "seq_q1": {
            "bw": 1527380,
            "iops": 1491
          },
          "seq_q8": {
            "bw": 1765911,
            "iops": 1724
          }
        },
        "randread": {
          "4k_q32": {
            "bw": 1069101,
            "iops": 267275
          },
          "4k_q1": {
            "bw": 66936,
            "iops": 16734
          }
        },
        "randwrite": {
          "4k_q1": {
            "bw": 190629,
            "iops": 47657
          },
          "4k_q32": {
            "iops": 63914,
            "bw": 255656
          }
        },
        "write": {
          "seq_q8": {
            "bw": 941693,
            "iops": 919
          },
          "seq_q1": {
            "iops": 374,
            "bw": 383461
          }
        }
      }
    }
  }
}

0

评论区