我正在尝试找出如何检查 Ubuntu 25.04 上是否启用了 NTSYNC,后续步骤是通过 Proton 或其他方式进行测试,以便我可以看到 FSYNC/ESYNC 和 NTSYNC 之间的性能差异。
但目前我甚至不知道如何查看在具有 6.14 内核的 Ubuntu 25.04 上是否启用了 NTSYNC。
不过我确实看到了里面的文件usr/include/linux/ntsync.h
,但仅此而已。所以,任何关于如何检查NTSYNC是否已启用以及游戏是否正在使用它的指导都将不胜感激。
我正在尝试找出如何检查 Ubuntu 25.04 上是否启用了 NTSYNC,后续步骤是通过 Proton 或其他方式进行测试,以便我可以看到 FSYNC/ESYNC 和 NTSYNC 之间的性能差异。
但目前我甚至不知道如何查看在具有 6.14 内核的 Ubuntu 25.04 上是否启用了 NTSYNC。
不过我确实看到了里面的文件usr/include/linux/ntsync.h
,但仅此而已。所以,任何关于如何检查NTSYNC是否已启用以及游戏是否正在使用它的指导都将不胜感激。
几个月前,我在我的两台机器上从 20.04 LTS 升级到了 22.04 LTS;我在 /boot 中看到了以下内容:
total 275864
drwxr-xr-x 5 root root 4096 Feb 26 06:51 .
drwxr-xr-x 20 root root 4096 Sep 29 2014 ..
-rw-r--r-- 1 root root 262228 Feb 7 12:44 config-5.15.0-133-generic
-rw-r--r-- 1 root root 287013 Jan 15 11:27 config-6.8.0-52-generic
drwx------ 2 root root 4096 Dec 31 1969 efi
drwxr-xr-x 4 root root 4096 Feb 26 06:51 grub
lrwxrwxrwx 1 root root 29 Feb 26 06:48 initrd.img -> initrd.img-5.15.0-133-generic
-rw-r--r-- 1 root root 114000628 Feb 26 06:49 initrd.img-5.15.0-133-generic
-rw-r--r-- 1 root root 125713060 Feb 18 06:35 initrd.img-6.8.0-52-generic
lrwxrwxrwx 1 root root 27 Feb 26 06:48 initrd.img.old -> initrd.img-6.8.0-52-generic
drwx------ 2 root root 16384 Nov 26 2020 lost+found
-rw-r--r-- 1 root root 182800 Feb 6 2022 memtest86+.bin
-rw-r--r-- 1 root root 184476 Feb 6 2022 memtest86+.elf
-rw-r--r-- 1 root root 184980 Feb 6 2022 memtest86+_multiboot.bin
-rw------- 1 root root 6295053 Feb 7 12:44 System.map-5.15.0-133-generic
-rw------- 1 root root 8667805 Jan 15 11:27 System.map-6.8.0-52-generic
lrwxrwxrwx 1 root root 26 Feb 26 06:48 vmlinuz -> vmlinuz-5.15.0-133-generic
-rw------- 1 root root 11711400 Feb 7 13:12 vmlinuz-5.15.0-133-generic
-rw------- 1 root root 14928264 Jan 15 11:51 vmlinuz-6.8.0-52-generic
lrwxrwxrwx 1 root root 24 Feb 26 06:48 vmlinuz.old -> vmlinuz-6.8.0-52-generic
uname -r 返回:
6.8.0-52-generic
执行 sudo apt update 和 upgrade 时,版本 5.15 已更新(执行了 sudo apt autoremove 以删除旧版本,上面未显示)。知道为什么更新了这些内容吗?vmlinuz.old 指的是 6.8.0-52,但我当前的内核是 6.8.0-52?
我正在尝试将我的 jumphost 从 Ubutnu 20.04 升级到 Ubuntu 24.04.2 LTS,并启用审核。
这是我的会议:
$ cat /etc/audit/rules.d/000.audit.rules
-D
-b 64
-r 1000
-f 1
# Logging All user commands
-a always,exit -F arch=b64 -S execve -F auid>=1000 -F auid!=4294967295 -k user_commands
-a always,exit -F arch=b32 -S execve -F auid>=1000 -F auid!=4294967295 -k user_commands
...
但是当用户登录系统(40-70 个用户)时,我注意到系统会消耗所有 RAM,因为 RAM 的使用是内核缓冲区,这是由于速率限制而使用的,这会导致系统性能下降直至冻结
$ grep -E 'Slab|SReclaimable|SUnreclaim' /proc/meminfo && free -m
Slab: 2690568 kB
SReclaimable: 14672 kB
SUnreclaim: 2675896 kB
total used free shared buff/cache available
Mem: 2972 2961 70 0 56 10
Swap: 4521 467 4054
这在 Ubuntu 20 中不会发生。
有什么想法可以解决它吗?
感谢您的帮助。
我有一台 vanilla 24.04.2 机器,内核为 6.8.0-53-generic,我想启用 HWE
我尝试通过 apt 安装 hwe 内核
sudo apt install linux-generic-hwe-24.04
但是,构建失败,崩溃日志告诉我内核是由与我安装的 GCC 版本不同的版本构建的。但是,崩溃日志中列出的 GCC 版本是相同的。
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
具体的编译错误是
CC [M] /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.o
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c: In function ‘xtrx_uart_do_tx’:
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:472:28: error: ‘struct uart_state’ has no member named ‘xmit’
472 | xmit = &port->state->xmit;
看来我有正确的编译器:
dpkg --list | grep gcc
ii gcc 4:13.2.0-7ubuntu1 amd64 GNU C compiler
ii gcc-11 11.4.0-9ubuntu1 amd64 GNU C compiler
ii gcc-11-base:amd64 11.4.0-9ubuntu1 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-12 12.3.0-17ubuntu1 amd64 GNU C compiler
ii gcc-12-base:amd64 12.3.0-17ubuntu1 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-13 13.3.0-6ubuntu2~24.04 amd64 GNU C compiler
ii gcc-13-base:amd64 13.3.0-6ubuntu2~24.04 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-13-x86-64-linux-gnu 13.3.0-6ubuntu2~24.04 amd64 GNU C compiler for the x86_64-linux-gnu architecture
ii gcc-13-x86-64-linux-gnu-base:i386 13.3.0-6ubuntu2~24.04cross1 i386 GCC, the GNU Compiler Collection (base package)
ii gcc-14-base:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-14-base:i386 14.2.0-4ubuntu2~24.04 i386 GCC, the GNU Compiler Collection (base package)
ii gcc-x86-64-linux-gnu 4:13.2.0-7ubuntu1 amd64 GNU C compiler for the amd64 architecture
ii libgcc-11-dev:amd64 11.4.0-9ubuntu1 amd64 GCC support library (development files)
ii libgcc-12-dev:amd64 12.3.0-17ubuntu1 amd64 GCC support library (development files)
ii libgcc-13-dev:amd64 13.3.0-6ubuntu2~24.04 amd64 GCC support library (development files)
ii libgcc-s1:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC support library
ii libgcc-s1:i386 14.2.0-4ubuntu2~24.04 i386 GCC support library
ii libuno-cppuhelpergcc3-3t64 4:24.2.7-0ubuntu0.24.04.2 amd64 LibreOffice UNO runtime environment -- CPPU helper library
ii libuno-purpenvhelpergcc3-3t64 4:24.2.7-0ubuntu0.24.04.2 amd64 LibreOffice UNO runtime environment -- "purpose environment" helper
ii libuno-salhelpergcc3-3t64 4:24.2.7-0ubuntu0.24.04.2 amd64 LibreOffice UNO runtime environment -- SAL helpers for C++ library
ii python3-pygccxml 2.4.0-1 all specialized XML reader reads the output from gccxml - python3 lib
有什么想法让我缺少什么才能使这个工作成功吗?
完整崩溃日志:
cat /var/crash/xtrx-dkms.0.crash
ProblemType: Package
DKMSBuildLog:
DKMS make.log for xtrx-0.0.1+git20190320.5ae3a3e-3.2ubuntu2 for kernel 6.11.0-17-generic (x86_64)
Sun Feb 23 07:01:37 PM PST 2025
make: Entering directory '/usr/src/linux-headers-6.11.0-17-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
CC [M] /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.o
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c: In function ‘xtrx_uart_do_tx’:
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:472:28: error: ‘struct uart_state’ has no member named ‘xmit’
472 | xmit = &port->state->xmit;
| ^~
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:473:13: error: implicit declaration of function ‘uart_circ_empty’; did you mean ‘uart_lsr_tx_empty’? [-Werror=implicit-function-declaration]
473 | if (uart_circ_empty(xmit))
| ^~~~~~~~~~~~~~~
| uart_lsr_tx_empty
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:480:25: error: invalid use of undefined type ‘struct circ_buf’
480 | c = xmit->buf[xmit->tail] & 0xff;
| ^~
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:480:35: error: invalid use of undefined type ‘struct circ_buf’
480 | c = xmit->buf[xmit->tail] & 0xff;
| ^~
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:484:21: error: invalid use of undefined type ‘struct circ_buf’
484 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
| ^~
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:484:35: error: invalid use of undefined type ‘struct circ_buf’
484 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
| ^~
/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:490:13: error: implicit declaration of function ‘uart_circ_chars_pending’ [-Werror=implicit-function-declaration]
490 | if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:244: /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.11.0-17-generic/Makefile:1931: /var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build] Error 2
make: *** [Makefile:224: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.11.0-17-generic'
DKMSKernelVersion: 6.11.0-17-generic
Date: Sun Feb 23 19:01:38 2025
DuplicateSignature: dkms:xtrx-dkms:0.0.1+git20190320.5ae3a3e-3.2ubuntu2:/var/lib/dkms/xtrx/0.0.1+git20190320.5ae3a3e-3.2ubuntu2/build/xtrx.c:472:28: error: ‘struct uart_state’ has no member named ‘xmit’
Package: xtrx-dkms 0.0.1+git20190320.5ae3a3e-3.2ubuntu2
PackageVersion: 0.0.1+git20190320.5ae3a3e-3.2ubuntu2
SourcePackage: xtrx-dkms
Title: xtrx-dkms 0.0.1+git20190320.5ae3a3e-3.2ubuntu2: xtrx kernel module failed to build
今天,我尝试为运行 Ubuntu 24.04.2 LTS 的 PC 启用 Ubuntu Pro。一切顺利,直到无法在软件应用程序中启用 livepatch,并出现警告“Livepatch 不涵盖当前内核”。我发现对于 Ubuntu 24.04,唯一支持的内核是 6.8(低于我当前的内核 6.11)。我想知道 Livepatch 何时会在 Ubuntu 上覆盖内核版本 6.11,因为它提供的安全更新不需要重新启动即可安装。谢谢!
Ubuntu 24.04.2 LTS,戴尔公司 Latitude 7390,Intel® Core™ i5-8350U × 8 这是一份报告和问题。不久前,我的挂起系统突然唤醒。如果我离开它并自动挂起,或者我将其置于挂起状态,它都不会唤醒。我的研究表明这是一个相当常见的问题,并且通常是内核更新造成的。因此,我重新启动到最后一个内核,即 6.8.0-52.53-generic 6.8.12,挂起系统又开始工作了。我的问题是,这更有可能是因为我的笔记本电脑比较旧吗?它现在已经有 7 年的历史了。此外,我应该如何处理未来的内核更新?有什么理由不保留内核 6.8 吗?谢谢大家!
我一直在将Ubuntu 安全网站上提供的 CVE 数据与从相应 OVAL 文件中提取的信息进行比较。在分析 Jammy (22.04 LTS) 时,我注意到 OVAL 文件不包含对HWE 内核 6.8 的任何引用,尽管该内核已在网站上列出。
例如,在网站上,CVE-2024-38541指出:
linux-hwe-6.8 -> 22.04 LTS (Jammy) -> Fixed in 6.8.0-40.40~22.04.3
然而,在OVAL 文件中没有提到linux-hwe-6.8,而存在较旧的 HWE 内核,例如 linux-hwe-5.19、linux-hwe-6.2 和 linux-hwe-6.5:
<criteria operator="OR">
<criterion test_ref="oval:com.ubuntu.jammy:tst:201245420000000" comment="Is kernel linux running?"/>
<criterion test_ref="oval:com.ubuntu.jammy:tst:201245420000160" comment="Is kernel linux-hwe-5.19 running?"/>
<criterion test_ref="oval:com.ubuntu.jammy:tst:201245420000270" comment="Is kernel linux-hwe-6.2 running?"/>
<criterion test_ref="oval:com.ubuntu.jammy:tst:201245420000350" comment="Is kernel linux-hwe-6.5 running?"/>
<criterion test_ref="oval:com.ubuntu.jammy:tst:201245420000050" comment="Is kernel linux-kvm running?"/>
...
</criteria>
这些信息缺失是不是出于某种原因?这可能是 OVAL 文件中的错误吗?我是不是忽略了什么?
任何见解都将不胜感激。提前致谢!
我注意到,当通过 Ubuntu Pro 启用实时内核更新时,内核会更新,但直到重新启动才会激活,所以我想知道如果必须重新启动才能激活内核,那有什么意义呢?
每次重启后,我都必须运行这个命令列表来释放我的处理器,避免其过载
sudo -s
echo "disable" > /sys/firmware/acpi/interrupts/gpe13
exit
我尝试将操作系统升级到最新版本 - 但无济于事
这是我的系统参数:
现在我使用这些操作系统和内核
Ubuntu 22.04.5 LTS x64
5.15.0-76-通用
Ubuntu 24.04.1 LTS
6.8.0-47-通用
我决定拆分我之前的问题来获得所有问题的答案
我想跟踪系统范围的跟踪点。Perf 列表告诉我以下跟踪点可用:
block:block_io_start [Tracepoint event]
block:block_plug [Tracepoint event]
block:block_rq_complete [Tracepoint event]
block:block_rq_error [Tracepoint event]
block:block_rq_insert [Tracepoint event]
...
power:cpu_frequency [Tracepoint event]
power:cpu_frequency_limits [Tracepoint event]
power:cpu_idle [Tracepoint event]
power:cpu_idle_miss [Tracepoint event]
我知道我应该用
perf record -e TRACEPOINT -a
用于系统范围的跟踪。但是,我被告知跟踪点是unsupported tracepoint
:
perf record -e block:block_io_start -a
event syntax error: 'block:block_io_start'
\___ unsupported tracepoint
libtraceevent is necessary for tracepoint support
Run 'perf list' for a list of valid events
我安装了所有libtraceevent*
软件包。我的内核是:
6.8.0-45-generic #45~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Sep 11 15:25:05 UTC 2 x86_64 x86_64 x86_64 GNU/Linux