经过最近的一些更新,我的电脑不再启动!这是我可以确定的:
apt-clone),它工作得很好。它有不同的硬件(也是 amd64,但不同的 CPU、不同的 GPU 等)。splash从linuxGrub的命令行中删除),我会看到许多服务正在启动,然后它会锁定。我可以通过添加init=/bin/sh到linuxGrub的命令行来获得 root shell 。我什至可以通过添加进一步
systemd.unit=basic.target systemd.shell
Run Code Online (Sandbox Code Playgroud)
这将启动许多服务并在 tty9 上运行一个 root shell。
systemctl start multi-user.target从那个 root shell运行,计算机就会锁定。所以大概问题是由这些服务之一触发的。systemctl list-dependencies multi-user.target看看有哪些服务开始了。我手动一一启动了列出的依赖项,一切都开始了。因此,这看起来像是由某些软件触发的硬件错误(因为它发生在一台计算机上而不是另一台计算机上)。但是什么软件?由于电脑死机很厉害,我无法获得任何日志。我什至无法获得任何有用的控制台输出。
有用的调试技术:
我一直在为Intel Core 2 Quad (Yorkfield) 处理器调整我的 Linux 内核,我注意到以下消息dmesg:
[    0.019526] cpuidle: using governor menu
[    0.531691] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.550918] intel_idle: does not run on family 6 model 23
[    0.554415] tsc: Marking TSC unstable due to TSC halts in idle
Run Code Online (Sandbox Code Playgroud)
PowerTop 仅显示用于封装和单个内核的状态 C1、C2 和 C3:
          Package   |            CPU 0
POLL        0.0%    | POLL        0.0%    0.1 ms
C1          0.0%    | C1          0.0%    0.0 ms
C2          8.2%    | C2          9.9%    0.4 …Run Code Online (Sandbox Code Playgroud) 在某些环境中,对某些指令或使用某些寄存器存在限制。例如,在 Linux 内核中,通常不允许使用 SSE/AVX 或 FP 寄存器。因此,大多数优化的 memcpy 变体无法使用,因为它们依赖于 SSE 或 AVX 寄存器,并且在 x86 上使用了基于 mov 的纯 64 位副本。对于这些平台,使用 rep movsb 可以在不破坏 SIMD 代码限制的情况下获得优化的 memcpy 的大部分性能。
为什么 x86_64 内核不能使用 SSE/AVX?如果它会使memcopy()速度更快,似乎应该允许它。我只是在学习 Intel Assembly,当我看到这个评论时,我特别想学习 SEE/AVX。
对 Linux 内核中的 SSE/MME 和 AVX 优化特别感兴趣。
我编译并运行了这些命令,但它们的内容对我来说有点神秘。
从过程intel-gpu-overlay:读类似15R, 16B, 41ms waits。什么是R,什么是B,等待时间表示什么?
它有 CPU:152%(我猜这和我从上面得到的一样)。渲染:32%,比特流:6%,blt:6%。什么样的代码会导致这些值成为瓶颈,当它们发生时系统的行为是什么?
以下是 intel-gpu-top 的示例:
Run Code Online (Sandbox Code Playgroud)render busy: 23%: ????? render space: 12/16384 task percent busy GAM: 29%: ?????? vert fetch: 1380772913 (5386667/sec) CS: 23%: ????? prim fetch: 350972637 (1368891/sec) GAFS: 9%: ?? VS invocations: 1375586768 (5385212/sec) TSG: 8%: ?? GS invocations: 0 (0/sec) VFE: 7%: ?? GS prims: 0 (0/sec) SVG: 3%: ? CL invocations: 677098924 (2648400/sec) VS: 3%: ? CL prims: 682224019 (2663834/sec) URBM: 2%: ? …
使用带有 i7-7700HQ(基本时钟 2.8Ghz)和 GTX 1050 的 Lenovo Legion Y520。
我在 linux 中收到 CPU 过热警告,它影响了我在游戏中的表现(在 Payday 2 和 CS:GO 中找到)。我在 Windows 中从来没有遇到过问题。
这是我在尝试解决此问题时发现的:
在 Windows 10 中(使用 aida64)
Windows 在空闲时保持在 3.4 Ghz 左右(不知道为什么在 CPU 使用率不到 3% 的情况下如此之高),温度在 50C 左右。
当给 CPU 施加压力时,温度会缓慢地(在几秒钟内而不是瞬间)从大约 50C 上升到大约 75C 并舒适地保持在那里。压力时时钟速度约为2.9Ghz。利用率始终为 100%。Aida64 不报告节流。受压时,CPU 内核上的电压从大约 1.1 到 0.9 不等。
在 Arch Linux 中(使用 s-tui)
Linux 在空闲时保持在 2.0Ghz 左右,温度在 50C 左右。
这就是奇怪的地方:当给 CPU 施加压力时,温度会立即从 50C 升至 93C 左右。压力时时钟速度正好是 3.4Ghz。利用率始终为 100%。当关闭压力测试时,温度立即回到 50C 左右,就好像什么都没发生过一样。这样做时,笔记本电脑当然不会感觉它加热到 90C+,即使在长时间压力之后也是如此。
这是一张图片,显示了温度、功率和频率如何同时下降。注意在这么短的时间内 cpu 温度变化了多少。

我该如何解决这个限制问题?在 linux …
我有一个由 驱动的 Intel 无线网卡iwlwifi,我可以在 dmesg 中看到以下消息:
iwlwifi 0000:03:00.0: loaded firmware version 17.168.5.3 build 42301
Run Code Online (Sandbox Code Playgroud)
鉴于我知道加载了哪个 blob,我如何找出这个 blob(.ucode文件)的版本?
如果您查看下面加载 ucode 的位置,它不会仅告诉我加载了 blob 的版本信息。但我知道英特尔版本这些。
$ sudo dmesg | grep ucode
[   26.132487] iwlwifi 0000:03:00.0: firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode
[40428.475015] (NULL device *): firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 2 个不同的显卡驱动程序(i915 和 nvidia)进行双屏显示,但正如您所看到的,xrandr 仅列出了 nvidia 提供商。我正在使用 Arch Linux。我没有成功尝试找到xrandr获取提供者列表的位置。
[x@epoch ~]$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x279 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-0
[x@epoch /etc/X11]$ sudo lshw -numeric -c video
*-display               
       description: VGA compatible controller
       product: GK104 [GeForce GTX 770] [10DE:1184]
       vendor: NVIDIA Corporation [10DE]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: …Run Code Online (Sandbox Code Playgroud) 我最近购买了一台新的笔记本电脑,它配备了用于 Wi-Fi 和蓝牙连接的 Intel Wireless-AX200 网络设备。我安装了elementary OS 5.0“Juno”以及最新的稳定Linux内核(5.1.1),因为我听说它应该支持上述网络设备
但是,我似乎无法/lib/firmware在 5.1.1 源内或内找到与设备相关的任何驱动程序(寻找任何以“iwlwifi”为前缀的内容)。
仔细查看会lspci发现以下设备,其中没有一个似乎是无线或蓝牙设备:
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:12.0 Signal processing controller: Intel Corporation Cannon …Run Code Online (Sandbox Code Playgroud) 我在这里束手无策,可以使用一些额外的意见。长话短说(更多详细信息见下文),我的系统不断限制 CPU 速度,直到我能够拔掉笔记本电脑的电池后才能恢复。
->问题描述
本质上,当一切都配合时,我的 CPU 运行良好。我正在使用 Conky 监控 CPU 速度和使用情况,并且可以观察倍频器根据负载进行适当缩放。我还观察到“涡轮”在高负载下启动。
然后,在没有任何明显原因的情况下,我的 CPU 降速到最低 400 MHz,并无限期地保持在这个水平。这包括重新启动或关闭后 - 它将重新启动到 400 MHz。如果我在此模式下将 CPU 使用率提高到 100%,它将保持在 400 MHz。我尝试使用 cpufrequtils 强制 CPU 频率,但它没有移动 ( sudo cpufreq-set -f `cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq)。还尝试重置 cpufrequtils 服务sudo /etc/init.d/cpufrequtils restart,CPU 仍然受到限制。我现在已经删除了 cpufrequtils,希望它本身可能会干扰 CPU,但可惜问题仍然存在。我能够用来恢复设备的唯一可靠方法是短时间(1-2 分钟)断开电池连接。正如您可能想象的那样,这是相当痛苦的。
帮助?
->系统信息
内核: 5.8.0-41-generic
发行版: Ubuntu 20.04.2 LTS
CPU:第 11 代 Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
笔记本电脑制造商: MSI
笔记本电脑型号: Prestige 15 A11SCX-002
-> “cpupower 频率信息”的输出
analyzing CPU 0:
driver: intel_pstate
CPUs …Run Code Online (Sandbox Code Playgroud) 上个月,我遇到了一些问题,涉及xf86-video-modesetting(独立于其余部分)、upower、dbus和systemd(我仍然无法通过systemd获得OOM登录)。是否有一本现代手册来描述这些系统、它们是如何配置的、它们是如何交互的,以及现代 Linux 桌面是如何工作的?我很困惑——我已经使用 Linux 二十年了,我感到非常迷茫。
每个文档、教程、故障排除博客文章或论坛讨论都可能已经过时。考虑以下:
只是为了挂起,我们经历了,如果我没记错的话,hal+pm-utils,ACPI+/sys/power/state(我不确定 /sys 的一半),现在,systemd+upower(至少我认为是upower 实际挂起)。
为了改变英特尔 CPU 的速度,我们有 speedstep、acpi-cpufreq 和现在的 pstate。
有 hwinfo 和solid-hardware。我不知道这两者是否来自同一来源,如果不是,哪个更好。
intel ×10
linux ×4
cpu ×3
kernel ×3
iwlwifi ×2
assembly ×1
crash ×1
drivers ×1
firmware ×1
games ×1
gpu ×1
i915 ×1
linux-kernel ×1
monitoring ×1
networking ×1
nvidia ×1
optimization ×1
startup ×1
syscalls ×1
systemd ×1
temperature ×1
ubuntu ×1
xorg ×1
xrandr ×1