我以前从未遇到过这种情况,但大多数时候我都会小心地nice ionice -c3
在要执行的命令前面加上 a 。但这一次的使用nice
,ionice
只是延缓了效果。
不管怎样,我使用 Ubuntu 20.04 作为我的主系统,即作为台式机。它已完全修补并且是最新的,运行 5.4 内核(即没有其他可用的内核)。我用 Cinnamon 运行它(是的,它是 Ubuntu 本身,而不是 Mint 等),但是当我上次重新安装它时,系统必须通过服务器 ISO 安装,因为没有一个桌面 ISO 启动成功。我提到这一点是因为我不确定这是否会以某种方式发挥作用。
当我开始7z
压缩几十GiB大小的文件时,系统变得完全没有响应。无法切换到文本控制台,无法通过 SSH 连接,无法移动鼠标光标......
从这种情况中恢复的唯一方法是重新启动系统(在我的例子中,我长按电源键)。
现在,在发生这种情况之后,我阅读了一些有关 Linux 调度程序的内容(我没有主动修改它),并了解到 CFS(完全公平调度程序)是自某些版本以来的默认调度程序。然而,很明显,它让所有其他进程都挨饿,转而支持以 Nice 启动的程序ionice -c3
……这似乎一点也不公平。
systemd 日志仅显示文件系统驱动程序无法为托管同时运行的虚拟机的进程写入内容。
我怎样才能进一步诊断这个问题并最终解决这个问题,这样我打算用作桌面的系统就不会变得完全没有响应?
注意:我宁愿 OOM 杀手介入并狙击某些进程,也不愿系统变得完全无响应。但据我所知,OOM 杀手并不介意。
系统有 64 GiB 的 RAM,没有活动的交换文件(我可以忍受少数因为内存不足而导致程序失败的情况)
# sysctl -A | grep -v _domain | grep '\.sched'
kernel.sched_autogroup_enabled = 1
kernel.sched_cfs_bandwidth_slice_us = 5000
kernel.sched_child_runs_first = 0
kernel.sched_itmt_enabled = 1
kernel.sched_latency_ns = …
Run Code Online (Sandbox Code Playgroud) 由于我已经为解决这个使我们无法正常工作的问题而奋斗了三天,所以我投降并尝试在这里寻求帮助。
我已经安装了 Ubuntu Studio 几个月了,并且设置了全盘加密。
它开始于几周前,我只是想使用 apt-get Upgrade 安装更新,它打印了一个错误,我认为它与 initramfs 的某些包连接,我不记得了。我只是想好吧,我要删除该软件包并重新安装它。
我这样做了,并没有打印错误。所以我认为它正在发挥作用。
但在下次重新启动时,它不再启动,而是将我发送到 busybox shell。
我现在也有同样的错误,即:
Volume group "vgubuntu-studio" not found
Cannot process volume group vgubuntu-studio
Gave up waiting for root file system device. Common problems:
-Boot args (cat /proc/cmdline)
-Check rootdelay= (did the system wait long enough?)
-Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/vgubuntu--studio-root does not exist. Dropping to a shell!
Busybox v1.30.1 (ubuntu 1:1.30.1-4ubuntu6.3 built in shell (ash)
(initramfs)
Run Code Online (Sandbox Code Playgroud)
然后我发现,当我选择另一个内核进行引导时,它可以工作,所以我寻找一种自动选择这个内核进行引导的方法,我这样做了,并且它在最近的时间里工作了(老实说,我不知道计算机重新启动的频率,但是有时是肯定的)。这是 grub.cfg 的问题,我真的应该开始记笔记......
这主要是我女朋友的电脑,我意识到它在播放视频时遇到问题,想要安装更新并重新启动它。当我这样做时,它再次卡在 busybox 中。
但现在无论我选择什么内核,它总是返回到 Busybox,我从未设法启动它。 …
我有完整的 amd 笔记本电脑,并且有 RZ608 (MT7921K),但 ubuntu 找不到该模块,因此缺少驱动程序。我试图找到一个驱动程序,唯一出现的解决方案是将内核更新到 5.14+。我更新了但仍然有同样的问题。此外,在 MediaTek 中,我只看到内核版本 5.12+ 支持 MT7921,而不是 MT7921K,所以我在哪里可以找到该模块的驱动程序。任何帮助表示赞赏。
lspci -nnk | 的输出 grep 0280 -A3:
05:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:0608]
Subsystem: MEDIATEK Corp. Device [14c3:0608]
06:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. Device [2646:500c] (rev 01)
Subsystem: Kingston Technology Company, Inc. Device [2646:500c]
Run Code Online (Sandbox Code Playgroud)
输出:
wget https://gitlab.com/jeremy53561/backports-11-26/-/raw/main/backports-5.15-rc6-1.tar.gz
--2021-11-27 16:56:21-- https://gitlab.com/jeremy53561/backports-11-26/-/raw/main/backports-5.15-rc6-1.tar.gz
Resolving gitlab.com (gitlab.com)... 172.65.251.78, 2606:4700:90:0:f22e:fbec:5bed:a9b9
Connecting to gitlab.com (gitlab.com)|172.65.251.78|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://gitlab.com/users/sign_in [following] …
Run Code Online (Sandbox Code Playgroud) 我的系统中有以下可用内核:
config-5.10.0-1057-oem
config-5.11.0-46-generic
config-5.13.0-25-generic
config-5.13.0-27-generic
Run Code Online (Sandbox Code Playgroud)
如何kernel 5.10.0-1057-oem
从系统中删除并阻止 OEM 内核更新?目前,我的系统更新了通用内核和 OEM 内核。
我有两台戴尔笔记本电脑:
Linux 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
Linux 5.13.0-27-generic #29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
上述两款笔记本电脑均具有:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
Run Code Online (Sandbox Code Playgroud)
两者都启用了实时补丁。
The question is: What am I missing that as to why does laptop A ( in item [1] ) never upgrades the kernel to …
安装最新内核后,我的系统无法再启动 nvidia 守护程序。仔细检查后发现 NVIDIA 模块缺失linux-image-5.4.0-96-generic
:
sudo apt-get install --reinstall linux-image-generic linux-image-5.4.0-96-generic linux-headers-5.4.0-96-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
android-studio-4.1 cuda-command-line-tools-10-2 cuda-compiler-10-2 cuda-cudart-10-2 cuda-cudart-dev-10-2 cuda-cufft-10-2 cuda-cufft-dev-10-2 cuda-cupti-10-2 cuda-cupti-dev-10-2 cuda-curand-10-2
cuda-curand-dev-10-2 cuda-cusolver-10-2 cuda-cusolver-dev-10-2 cuda-cusparse-10-2 cuda-cusparse-dev-10-2 cuda-documentation-10-2 cuda-driver-dev-10-2 cuda-libraries-10-2 cuda-libraries-dev-10-2
cuda-memcheck-10-2 cuda-misc-headers-10-2 cuda-npp-10-2 cuda-npp-dev-10-2 cuda-nsight-10-2 cuda-nsight-compute-10-2 cuda-nsight-systems-10-2 cuda-nvcc-10-2 cuda-nvgraph-10-2 cuda-nvgraph-dev-10-2
cuda-nvjpeg-10-2 cuda-nvjpeg-dev-10-2 cuda-nvml-dev-10-2 cuda-nvprof-10-2 cuda-nvprune-10-2 cuda-nvrtc-10-2 cuda-nvrtc-dev-10-2 cuda-nvtx-10-2 cuda-nvvp-10-2 cuda-samples-10-2 cuda-sanitizer-api-10-2
cuda-toolkit-10-2 cuda-tools-10-2 cuda-visual-tools-10-2 golang-1.15-go …
Run Code Online (Sandbox Code Playgroud) 安装 linux-generic-5.16 后,Nvidia 版本 495.46 显示驱动程序尚未加载。我使用 删除了一些旧的内核模块sudo apt autoremove
。我使用的显卡是 NVIDIA GeForce RTX 2080 Ti Rev。这是结果dmesg
sudo dmesg | grep nvidia
[ 0.619407] nvidia-gpu 0000:01:00.3: enabling device (0000 -> 0002)
[ 3.869919] audit: type=1400 audit(1642964710.963:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=947 comm="apparmor_parser"
[ 3.869921] audit: type=1400 audit(1642964710.963:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=947 comm="apparmor_parser"
Run Code Online (Sandbox Code Playgroud)
并且安全启动已从 UEFI 配置中禁用。主板型号是ROG STRIX Z490-I GAMING
我一直在使用主线中最新的 ubuntu 5.16 kernel-ppa 软件包,因为我需要 AMD 5700g cpu 和 B550I 主板的温度监控。我需要低延迟,因为我是一名使用该系统进行录音的音乐家。我想继续跟踪最新版本,直到 5.16 或更高版本发布,以便获取安全性和 amdgpu 更新等。
最新的主线版本似乎不再包含低延迟 amd64 deb 软件包。他们会回来吗?如果没有,哪里有关于如何从主线构建自己的教程?(目前我使用的是ubuntu studio 21.10)
解决方案(已修复):\n因此我尝试从头开始安装 22.04,而不是尝试找出问题所在并修复它。下载镜像,制作USB并启动。刚刚发现grub有一些bug,22.04目前无法安装。
\n我认为我在 Ubuntu 上运行得很好(5 年多了),现在是时候用 debian 回家了。所以我这么做了。\n如果 Ubuntu 可以安装甚至重新安装,我可能会回来;)
\n=> 音频现在可以工作了 (debian11)
\n2-3天前进行了通常的发布升级,因为我喜欢盲目和鲁莽地骑在前沿。
\n现在升级后就没有声音了。
\n我可以看到卡片:
\n\nRun Code Online (Sandbox Code Playgroud)> jyrki@kekkonen:~$ sudo inxi -SMA \n> System:\n> Host: kekkonen Kernel: 5.15.0-30-generic x86_64 bits: 64\n> Desktop: GNOME 42.0 Distro: Ubuntu 22.04 LTS (Jammy Jellyfish) \n> Machine:\n> Type: Desktop System: Gigabyte product: Z390 M v: N/A serial: N/A \n> Mobo: Gigabyte model: Z390 M-CF v: x.x serial: N/A\n> UEFI: American Megatrends v: F6j date: 01/19/2021 \n> Audio: …
我在升级时看到了一堆错误,所以我重新启动了。现在,如果我尝试启动最新的内核,系统就会挂起。我启动到旧内核的恢复模式并尝试删除所有 nvidia 软件包,因为我记得提到了 nvidia 的一些错误,但这似乎不起作用。
我现在可以启动5.4.0-125-generic
(当前安装的最新版本是 5.15.0-46-generic),但是看起来旧包(linux-image-extra-4.4.0-47-generic)正在导致错误:
$ apt -f install
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
[...lots of packages...]
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
linux-image-extra-4.4.0-47-generic
0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
4 not fully installed or removed.
After this operation, 162 MB disk space will be freed. …
Run Code Online (Sandbox Code Playgroud)