您觉得那个 CPU 图表看起来还好吗?(是的,它dpkg
挂了,但那是另一个故事)。
更新
好吧,现在我已经不再使用 AMDGPU 了,这种情况已经不再发生了,所以这现在纯粹是一个学术问题。
我在玩游戏时遇到过崩溃,但我无法判断 Ubuntu、硬件(GPU/CPU)、Steam 或游戏哪个是问题所在。
最后一次崩溃发生在全新启动时,当时只有 Steam 和游戏在运行。
当游戏卡住时,我按 Alt-Tab 切换到 Steam 并点击停止按钮。我收到有关丢失进度的警告,接受后什么也没发生。
我打开一个终端并运行 top。我看到了游戏的 PID 并使用sudo kill -9 <pid>
,没有任何变化。我使用屏幕截图来显示正在发生的事情(游戏运行、steam 和终端窗口)。
这个完全僵尸化的进程似乎是无法杀死的。
我退出。我重新登录。系统挂起,屏幕变黑,鼠标指针变成白色。
这时,我被迫重新开始。
当系统重新启动并且我登录时,屏幕截图尚未保存。
这是新版本。技嘉主板,128GB RAM,i9-14900Fx32 CPU,Radeon R7900XTX GPU。固件版本 F9;Ubuntu 24.04.1。我攒了一年多的钱才买下这个东西,现在我遇到了最奇怪的错误,正在寻求帮助诊断。
我之所以选择 i9-14900Fx32,是因为它不存在不稳定问题。我没有对任何东西进行过超频。
当发生此崩溃时,它将带走具有相同僵尸进程性质的 Friefox(Chrome 没问题),并且系统监视器将显示它已准备就绪,但不会显示 GUI 也不会关闭幻影窗口(也是僵尸)。
因此,在摆弄了 amdgpu 以期修复问题之后,我让一切变得更糟,并且花了一天时间才解决系统启动到黑屏的问题。
当我终于返回时,我刚打开 Firefox、恢复标签并开始观看 YouTube 视频,系统就冻结了。我重新启动了。Chrome 没有出现同样的问题。我也无法重复 Firefox 的问题,因为我正在使用 Firefox 发布此更新。
经过多次谷歌搜索后,我想我已经把这个东西取消了,但我从终端得到了一些非常矛盾的反馈
lordmatt@vision:/var/lib/dpkg$ sudo dpkg -P amdgpu && sudo dpkg -P amdgps-dkms
dpkg: warning: ignoring request to remove amdgpu which isn't installed
dpkg: warning: ignoring request to remove amdgps-dkms which isn't installed
lordmatt@vision:/var/lib/dpkg$ sudo dpkg --configure -a
Setting up amdgpu-dkms (1:6.7.0.60103-1787201.22.04) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing package amdgpu-dkms (--configure):
installed amdgpu-dkms package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
amdgpu-dkms
lordmatt@vision:/var/lib/dpkg$
我有 Schrodinger 的 amdgps-dkms,它既未安装,又已安装(等待安装后脚本)。
在经历了许多麻烦和崩溃之后,我终于解决了我之前设置的所有 amdgpu 错误。现在我只需要一些方法来分析最初的问题或找到解决办法。看来 AMDGPU 不是我的答案。
因此,原始症状(系统冻结)仍然存在。我不知道 GPU 是否是罪魁祸首。仅运行 Firefox 时会发生冻结。
运行amdgpu-install --uninstall
释放了一些空间,但并没有解决问题。崩溃更加频繁。即使屏幕冻结且没有键盘或鼠标输入(甚至没有大写锁定或数字锁定),声音仍会继续播放。
free --mega -h
total used free shared buff/cache available
Mem: 132G 5.4G 125G 143M 2.9G 127G
Swap: 8.6G 0B 8.6G
cat /proc/sys/vm/swappiness
返回结果为 60。这样好吗?
我尝试切换到 amdgpu,因为我怀疑这可能是问题所在。哦,天哪。进程挂起了;我看 Netflix;我上床睡觉;我起床,什么都没有改变。它会卡在设置内核上。我的大部分更新都是从中恢复过来的。
这是最后构建步骤的屏幕截图,虽然拼尽全力但毫无进展。
lsmod | grep amdgpu
没有什么。
更新 4 让我摆脱了这种困境。(并恢复了一些系统稳定性)。在此过程中,我研究了许多 BIOS 设置,并学到了一些惨痛的教训,那就是不要触碰我不理解的东西。
sudo hwinfo --gfxcard
sudo: hwinfo: command not found
我进行了快速 apt 安装并:
07: PCI 300.0: 0300 VGA compatible controller (VGA)
[Created at pci.386]
Unique ID: svHJ.+CDZH_5IkG4
Parent ID: B35A.Sa24RQSJfUB
SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0
SysFS BusID: 0000:03:00.0
Hardware Class: graphics card
Model: "ATI VGA compatible controller"
Vendor: pci 0x1002 "ATI Technologies Inc"
Device: pci 0x744c
SubVendor: pci 0x1eae "XFX Limited"
SubDevice: pci 0x7901
Revision: 0xc8
Memory Range: 0x40000000-0x4fffffff (ro,non-prefetchable)
Memory Range: 0x50000000-0x501fffff (ro,non-prefetchable)
I/O Ports: 0x5000-0x5fff (rw)
Memory Range: 0x50c00000-0x50cfffff (rw,non-prefetchable)
Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
IRQ: 11 (no events)
Module Alias: "pci:v00001002d0000744Csv00001EAEsd00007901bc03sc00i00"
Driver Info #0:
Driver Status: amdgpu is not active
Driver Activation Cmd: "modprobe amdgpu"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #12 (PCI bridge)
Primary display adapter: #7
sudo kill
和sudo killall
我把这两个都扔向僵尸进程,但它们就是不理我。系统监视器在这段时间也处于僵尸状态。它“技术上”已经启动,但没有 GUI 元素。有一次,它正在运行,我试图从图表转到进程列表。但没有发生。系统监视器已停止响应。单击选项以结束它。再次收到消息,就像我什么也没做一样。
正如我所说,杀不死的僵尸。我从未见过这样的事。
这是进程 12388 拒绝被终止的截图。Steam 上的“停止”按钮也出现了类似的故障,无法执行任何操作。我重新启动了。
我还在某个时候安装了 linux-crashdump,所以可能有一些非常详细的文件我可以去挖掘。
按照评论中的建议
sudo apt install libgl1-mesa-dri mesa-opencl-icd mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers
然后sudo hwinfo --gfxcard
给了我:
07: PCI 300.0: 0300 VGA compatible controller (VGA)
[Created at pci.386]
Unique ID: svHJ.+CDZH_5IkG4
Parent ID: B35A.Sa24RQSJfUB
SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0
SysFS BusID: 0000:03:00.0
Hardware Class: graphics card
Model: "ATI VGA compatible controller"
Vendor: pci 0x1002 "ATI Technologies Inc"
Device: pci 0x744c
SubVendor: pci 0x1eae "XFX Limited"
SubDevice: pci 0x7901
Revision: 0xc8
Driver: "amdgpu"
Driver Modules: "amdgpu"
Memory Range: 0x4800000000-0x4fffffffff (ro,non-prefetchable)
Memory Range: 0x4400000000-0x44001fffff (ro,non-prefetchable)
I/O Ports: 0x5000-0x5fff (rw)
Memory Range: 0x50c00000-0x50cfffff (rw,non-prefetchable)
Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
IRQ: 205 (13478 events)
Module Alias: "pci:v00001002d0000744Csv00001EAEsd00007901bc03sc00i00"
Driver Info #0:
Driver Status: amdgpu is active
Driver Activation Cmd: "modprobe amdgpu"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #12 (PCI bridge)
Primary display adapter: #7
经过所有这些帮助,我能够运行之前几分钟内崩溃的游戏了。
我遇到的崩溃次数少了很多,它们不再困扰系统。
在一次或另一次更新期间的某个时刻,无论是什么确保我获得 Chrome 更新都被禁用。我需要在 20.04 中添加什么才能再次获取 Chrome 更新?
我的 Ubuntu 机器在没有警告的情况下重新启动,我需要检查哪些日志文件?具体来说,(1)哪些日志文件会告诉我什么强制突然重启?(2) 我在哪里可以找到它们?
更新:按照waltinator 的回答,我跑过去sudo journalctl -b -1 -e
发现:
smartd[1310]: Device: /dev/sda [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 108 to 109
我怀疑我有散热问题。
也这样做了:
[ me ]:/var/log$ ls -al /var/crash
total 4936
drwxrwsrwt 2 root whoopsie 4096 Jul 30 07:40 .
drwxr-xr-x 16 root root 4096 Jun 5 2017 ..
-rw-r----- 1 [ me ] whoopsie 4537678 Jul 24 12:50 _usr_bin_simple-scan.1000.crash
-rw-r--r-- 1 [ me ] whoopsie 0 Jul 24 10:34 _usr_bin_simple-scan.1000.upload
-rw------- 1 whoopsie whoopsie 37 Jul 24 10:34 _usr_bin_simple-scan.1000.uploaded
-rw-r----- 1 root whoopsie 498295 Jul 24 10:57 _usr_sbin_ippusbxd.0.crash
-rw-r--r-- 1 root whoopsie 0 Jul 24 10:53 _usr_sbin_ippusbxd.0.upload
-rw------- 1 whoopsie whoopsie 37 Jul 24 10:53 _usr_sbin_ippusbxd.0.uploaded
升级到 14.04 后,我在使用 Unity 时遇到了问题(并且在另一次更新到 14.10 后仍然存在,这是由于我没有注意)
我没有统一或其他任何东西,只有 Firefox,因为它是一个非常好的应用程序,它加载我可以从它停止的地方继续。
我可以转到 TTY1,DISPLAY=:0 unity --replace
但我收到的错误消息是
compiz (opengl) - 错误:FBO 不完整:GL:FRAMEBUFFER UNSUPPORTED
它想告诉我什么,我该如何解决?
更新 1:我尝试按照此处的建议进行操作:升级到 14.10 并且没有统一没有破折号,但这不是我正在寻找的答案。
更新 2:使用DISPLAY=:0 ccsm
我能够为 compiz 启用 Unity 插件并在 OpenGL 中禁用 Framebuffer 对象DISPLAY=:0 compiz
然后给我统一侧边栏,尽管顶部栏非常有限并且缺少菜单等。
如果我使用硬壳 (TTY1),我知道我可以通过启动DISPLAY=:0 ...
和切换回来查看它运行来触发一些东西。我将如何以这种方式触发 shell 窗口?
具体是什么去哪里...
?
(为了让事情变得更复杂,也许:TTY1 中的 shell 版本是 12.04 但我升级到 14.10,虽然还没有重新启动)。
我正在尝试解决可能无法解决的损坏系统。显然virtuoso-nepomuk
是在升级过程中绊倒了某些东西并导致unable to migrate to dependancy based boot sequencing
错误(或类似的东西)。据我所知virtuoso-nepomuk
,该软件包播放效果不佳。
我可以删除它吗?如果我这样做会破坏什么?
对于它的价值,我似乎正在运行 12.04 shell 但看到版本报告为 14.10 所以......
编辑:显然它没有安装,为什么会导致问题?
编辑:然而,脚本仍然在日志中报告为损坏,缺少 LSB 注释的结尾(无论是什么)
我在运行后看到了一些关于丢失文件的奇怪错误消息
sudo apt-get update && sudo apt-get install -y flashplugin-installer
/boot/
特别是缺少某些配置文件。这让我担心:
Setting up nvidia-304 (304.125-0ubuntu0.0.1) ...
dpkg: warning: version '*-*' has bad syntax: version number does not start with a digit
update-initramfs: deferring update (trigger activated)
Traceback (most recent call last):
File "/usr/bin/quirks-handler", line 26, in <module>
import Quirks.quirkapplier
File "/usr/lib/python2.7/dist-packages/Quirks/quirkapplier.py", line 26, in <module>
import XKit.xutils
ImportError: No module named XKit.xutils
dpkg: error processing package nvidia-304 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up flashplugin-installer (11.2.202.457ubuntu0.14.04.1) ...
Processing triggers for initramfs-tools (0.99ubuntu13.5) ...
update-initramfs: Generating /boot/initrd.img-3.2.0-74-generic
grep: /boot/config-3.2.0-74-generic: No such file or directory
Errors were encountered while processing:
nvidia-304
E: Sub-process /usr/bin/dpkg returned an error code (1)
我应该怎么办?
编辑 1:这可能与我的新问题 unity failing 和 TTY1 声称未安装有关,也可能无关。
编辑 2:Unity 似乎放假了,所以我只有 Firefox(因为当它全部崩溃并且 alt+ctrl+F1 进入硬壳时它是打开的。我宁愿不重启,直到我知道我可以得到整个事情又开始了,也因为我不应该恕我直言。有人建议我摆脱旧的linux-image
,linux-header
但我知道这样做的唯一方法是史诗般的复制和粘贴,远远超出我记得输入的任何内容在 tty1 中再次出来。
编辑 3:根据 uname -a,我的内核版本是 3.2.0-74-generic,这可能是也可能不是正确的(我在这方面没有任何线索)。但是,缺少配置文件表明出了点问题。
编辑 4:在https://help.ubuntu.com/community/Lubuntu/Documentation/RemoveOldKernels之后,我发现有 2.6 张图像的全部负载,尽管 apt-get remove 似乎主要是报告同样缺少文件. 根据评论,升级可能没有 Ubuntu 让我理解的那么顺利。所以我可能还需要找到一种方法来解决这个问题。
编辑 5:我试过do-release-upgrade -d
开始很好但以错误消息结束。错误消息将我指向这份报告:https ://bugs.launchpad.net/bugs/1363703并没有告诉我太多信息。
我下降到欢迎我到 12.04.5 的 tty2。我做了lsb_release -cd
它说我在 14.10 / utopic 虽然 shell 告诉我新版本 14.04.1 可用并且我应该使用do-release-upgrade
它来获取它但是当运行时它说没有什么可以升级到。我正式没有想法、线索和任何计划。
编辑 6:显然我试图升级到 14.10,这对我来说很笨拙。我遇到的几乎杀死一切的问题是一个死的配置文件:什么是 virtuoso-nepomuk 以及卸载它会有多大危害?现在我遇到了原始问题(在开始统一时看到那里的某个地方和段错误)。段错误可能是一个不同的问题。
编辑 7:NVidia 问题可能众所周知:无法更新 Nvidia 驱动程序并且在安装接近尾声时出现错误我现在正在调查这个问题。
编辑 8:在设法让大部分升级通过“问题包”列表之后,有点大了。
里面有/boot
很多vmlinuz.*
文件可以追溯到 4 年前。删除其中一些是否安全?
编辑:大多数似乎都有congig-3.*
和System.map.*
文件一起去。我可能也想摆脱那些?或者相反?
我并不是说要重建和重新配置各种实用程序,这并没有解决我的问题,这表明更基本的东西已损坏。我正在寻找一个完全全新和干净的替换/重建,并清除所有旧缓存等,因为我不知道我需要修复什么我希望这种更积极的方法能够简单地消除故障。
如果 aptd 像往常一样出现在磁盘上,我会在这个阶段卸载并重新安装。事实上(据我所知)这样做的过程我不知道该怎么做。
我试图用这个问题解决的问题可能是在升级过程中触发的。
升级失败导致巨大的 apt 日志文件 - 出了什么问题以及如何解决?
我想出了如何关闭 aptd 和 apt-get 并恢复我的 CPU,但这并没有解决 aptd 实际上已损坏的根本问题。我想如果我能做到这一点,问题就会得到解决。
我应该指出,我编译并运行 make 文件的最复杂的东西并不比“hello world”复杂。我可能需要婴儿学步。
我最近得到了另一个问题的答案帮助:“aptd”正在用尽我的 CPU?其中包括运行命令
sudo dpkg-reconfigure -phigh -a
和
sudo dpkg --configure -a
这一切似乎都很合理,但我对一些事情感到好奇。
dpkg-reconfigure
这些-phigh -a
标志是什么意思?
它与 有何不同dpkg --configure
?
我正在运行 Ubuntu 12.04 并且有一个以 root 身份运行的“aptd”进程(我理解是正确的)但是占用了 95% 的 CPU(这绝对是不正确的)。
根据此处的答案之一如何阻止“aptd”使我的 CPU 达到极限?我尝试运行 dpkg-reconfigure ,它只是添加了一个新进程,它占用了 20% 的 CPU 很长时间,直到它报告
/usr/sbin/dpkg-reconfigure: menu is broken or not fully installed.
可能与升级过程有关,最近留下了一个巨大的 apt.log 文件而没有结束:A huge apt log file from failed upgrade - what went wrong & how do I fix it?
我需要做什么才能让我的系统恢复正常运行?
更新 #1
这个错误报告https://bugs.launchpad.net/ubuntu/+source/apt/+bug/665580建议我运行
sudo apt-get -y update
但它说
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
所以我试过了
sudo rm /var/lib/apt/lists/lock
sudo apt-get -y update
这并没有阻止 aptd 最大化 CPU。
尽管有警告不要这样做,但我还是试图终止该进程,但它拒绝被终止。
更新 #2
现在这正在慢慢烧毁我的 CPU,风扇一直全速运转。伙计,他们很吵(必须对下一次硬件升级做点什么)。
aptd 使用命令行/usr/bin/python /usr/bin/aptd 运行,显然已经使用了 1d17h CPU 时间。
然而,它现在已被 apt-get 加入,它在命令行apt-get -qq -y -d -dist-upgrade下运行。因此,aptd 已“下降”到 85.1MiB 内存,而 183.8MiB 虚拟内存已用完。
我正在考虑重新启动或关闭,如果只是为了让我的硬件免于烹饪。
更新 #3
根据 ShadowMitia 的评论,我试过了
sudo killall -9 apt-get
sudo kill -9 _pid_
这杀死了顽皮的过程。现在要找出损坏的地方并修复它?
我将尝试重新启动以查看它是否再次发生。
更新 #4
好的,所以我刚刚重新启动。
apt-check 立即进入并达到约 88% aptd 然后加入并迅速攀升至 100% 至 102%。
apt-check 仍然存在,但在 40% 到 50% 之间。
看来我迟早要杀掉那些人?
更新 5
在超过 24 小时的 CPU 时间后,apt-check 和 aptd 仍在燃烧。我又杀了他们。将尝试升级并报告回来。
当尝试从 12.04 升级到更新的 LTS 时,它似乎在“准备升级”上挂了很长时间(一两天),然后整个系统开始出现问题。最后我重新启动,发现由于硬盘已满而无法启动。原来,升级文件夹中有一个名为 apt.log 的文件,大小为 166GB。
我删除了它,解决了无法启动的问题。
显然,这是无法正常工作的,但更重要的是(从我的角度来看):我如何才能确保这种情况不会再次发生,从而真正升级。
更新
此故障的副作用之一是 aptd 吞噬了我的所有 CPU:帮助:“aptd”正在耗尽我的 CPU?我现在已经控制住了,但我仍然不知道出了什么问题。