标签: kernel

如何将补丁应用到我的 Linux 内核?

我正在尝试编译 iscsi 目标软件 SCST。它希望我对我的 Linux 内核应用补丁,以便获得某些性能提升。问题是我对 Linux 开发还是个新手。我从哪开始呢?如何应用补丁?我需要重新编译内核吗?帮助!

我正在运行 Ubuntu 10.04.3 amd64

内核版本 2.6.32-28-server

linux kernel patch ubuntu-10.04

7
推荐指数
1
解决办法
3万
查看次数

如何在Linux启动时启动网络

我正在开发一个嵌入式 linux 系统,我的目标是在启动时激活以太网接口。我使用 u-boot 作为引导程序。我将 ip= 和 eth= u-boot 环境变量作为 bootargs 传递给 linux 内核,并将 linux 内核配置为 IP:kernel level autoconfiguration ,已启用。但是,这并没有像“ifconfig eth0 up”那样启动网络接口。

所以,我想知道是否可以指示 linux 内核激活 eth0 接口而不诉诸用户空间脚本(ifup 和 ifconfig)?

networking linux boot kernel

7
推荐指数
1
解决办法
2万
查看次数

Linux 上的 FreeBSD 兼容层

我知道FreeBSD上的Linux 模式Linux二进制文件可以在 FreeBSD 中无缝执行。

来自FreeBSD 手册

实际上,FreeBSD 内核中有一个 Linux 内核。实现内核提供的所有服务的各种底层功能与 FreeBSD 系统调用表条目和 Linux 系统调用表条目相同:文件系统操作、虚拟内存操作、信号传递和 System V IPC。唯一的区别是 FreeBSD 二进制文件获得 FreeBSD 粘合函数,而 Linux 二进制文件获得 Linux 粘合函数。FreeBSD 粘合函数静态链接到内核中,Linux 粘合函数可以静态链接,也可以通过内核模块访问。

这本质上是一个ABI 实现。我很好奇在Linux操作系统中是否有一个等效的 ABI 实现可以允许FreeBSD二进制文件的无缝执行。

也可以看看

在 Linux 上运行 FreeBSD 二进制文件

linux freebsd bsd compatibility kernel

7
推荐指数
1
解决办法
1179
查看次数

如何将 vmlinux 内核压缩到 vmlinuz 中?

标题几乎概括了这个问题 - 我刚刚构建了一个生成了 vmlinux 输出文件的内核。如何将其压缩为 vmlinuz 映像?

compression kernel

6
推荐指数
1
解决办法
2万
查看次数

Linux - 防止磁盘旋转

启动时,所有磁盘都会旋转,但 4 个只是备份(而且噪音也很大)。所以我宁愿在启动时根本不旋转它们。

是否有一个内核选项告诉内核磁盘连接到哪个包含 rootfs 的 SATA 端口?

如何实现磁盘在启动时不旋转?

linux sata kernel spinup

6
推荐指数
1
解决办法
6005
查看次数

为什么系统进程一直使用 40-60% 的 CPU 功率?

特尔;博士:

  • ACPI.sys 不断使用大量 CPU 资源。
  • 病毒和恶意软件扫描全部恢复干净
  • 驱动程序是最新的(GPU、芯片组、USB 设备)

可能的重要信息:

  • 这个 Win7 安装在 SSD 上,我必须通过我的主操作系统 (Vista) 将其安装为辅助引导。这是因为我蹩脚的 BIOS 不允许我从磁盘或 USB 记忆棒启动,所以我需要旧的 C:/ 驱动器和 Vista 才能启动到 Win7。
  • 我的虚拟内存都在 SSD 驱动器上(我知道这对驱动器不利,但我想提高性能并且不在乎它是否会在几年后消失)

我的 Windows 7 系统目前遇到了可怕的性能问题。查看任务管理器中的System (NT Kernel & System)进程显示该进程始终使用大约 40-60% 的 CPU。

我发现的一篇博客文章表明,这通常是由于驱动程序问题,例如 USB 设备或图形驱动程序,所以我使用 xperf ( xperf -on latency -stackwalk profile) 进行了 stackwalk并检查了 Windows Performance Analyzer 中的输出文件,这似乎ACPI.sys是导致问题:

在 Windows Performance Analyzer 中检查系统进程

这是我为 ACPI.sys 扩展堆栈时得到的结果:

我不懂这啥意思

微软说:

Windows ACPI 驱动程序 Acpi.sys 是 Windows 操作系统的一个内置组件。Acpi.sys 的职责包括支持电源管理和即插即用 (PnP) 设备枚举。

另一个用户通过更新他们的 BIOS …

windows-7 drivers kernel

6
推荐指数
1
解决办法
6170
查看次数

Linux 中的发夹

我有一个安装了 Linux 系统的路由器。

我希望我的路由器支持 NAT 发夹。

Kernel Linux 中是否存在这样的功能?如果是如何激活它?是否有补丁可以将其应用于我的内核以支持发夹?

来自维基百科的发夹解释:

Let us consider a private network with the following:

    Gateway address: 192.168.0.1
    Host 1: 192.168.0.5
    Host 2: 192.168.0.7

    The gateway has an external IP : 192.0.2.1
    Host 1 runs a P2P application P1 on its port 12345 which is externally mapped to 4444.
    Host 2 runs a P2P application P2 on its port 12345 which is externally mapped to 5555.

If the NAT device supports hairpinning, then P1 application can …
Run Code Online (Sandbox Code Playgroud)

networking linux nat kernel linux-kernel

6
推荐指数
1
解决办法
5903
查看次数

如何禁用内核登录到 systemd 日志?

我正在使用过度发送内核消息的设备(每秒 10-100 条消息,Mediatek 驱动程序......),从内核本身删除日志记录(分布在数百个文件中)是不可行的。

我已经接受 dmesg 在这个设备上几乎没用,但不幸的是 systemd 日志也受到了影响。

是否可以过滤/禁用将内核消息记录到 systemd 日志中?

linux kernel systemd

6
推荐指数
2
解决办法
1万
查看次数

如何控制 ntoskrnl.exe!MiWalkPageTablesRecursively 的 CPU 使用率

内核跟踪高 CPU 使用率的帖子之后,我以为我已经调试了一个一直困扰我的问题,即系统进程 20-30% 的一致 CPU 使用率。请参阅我之前的帖子

我设置了 Windows 性能分析器,并且能够跟踪到这个过程: WPA 跟踪日志 我认为这与通过函数名称猜测的页面文件有关,并禁用了我的页面文件,然后重新启动,但 Windows 拥有页面文件并抛出错误。所以我创建了一个大约 100MB - 2048MB 的小页面文件。

这似乎已经解决了几个星期的问题,但现在它又来了,即使页面文件只有 2GB。它似乎发生在系统启动一段时间后。当前正常运行时间为 8 天。

如果任何内核专家可以就我接下来应该尝试什么提供建议,我很乐意这样做。

然而,进程资源管理器在系统映像下显示了一个不同的线程。我不知道如何调和这种差异:

初始化AnsiStringEx

进程浏览器通常显示上述内容,但在其他时候它可以显示调试过滤器状态......等。

在此处输入图片说明

(我相信它总是 ThreadID 56)但是几个跟踪日志似乎总是显示我们在上面看到的问题。

编辑

根据 RAM 的要求添加了图像。这是在问题不存在的全新重启之后。

内存使用 流程细节工作集

博客推荐的配置符号路径以加快符号加载

进程浏览器

procexp 符号路径

水杨酸

WPA 符号路径

缓存文件夹的文件大小

符号信息

在系统上发现多个版本的 dbghelp.dll。当前指向系统,但不知道它应该指向哪个。

dbghelp.dll 版本


更新

按照查找Zombie Processes的链接后,我发现了以下数据(已截断以删除次要条目)

374 total zombie processes.
334 zombies held by explorer.exe(1768)
    298 zombies of Fences.exe
    9 zombies of LogonUI.exe
    7 zombies of chrome.exe
10 zombies held by ctfmon.exe(4568)
    2 zombies of chrome.exe
7 zombies held …
Run Code Online (Sandbox Code Playgroud)

windows cpu kernel

6
推荐指数
1
解决办法
3192
查看次数

rcu_sched 检测到 CPU/任务上的停顿

我使用 Virtualbox 运行许多虚拟机。这些虚拟机使用 Debian 10.3(最新版本)。我遇到了错误/冻结,如下所示。我在 Virtualbox 中连接 USB 设备(Wifi USB 加密狗)的虚拟机上似乎发生了这种情况:我与 SSH 连接断开并且虚拟机冻结。

我是新手,不知道它从哪里来。是内核还是发行版?

据我所知这是一个CPU问题。我总是在虚拟机上分配 6 个 CPU(我有 Ryzen 5 3600)和 2 或 4Go RAM(我的主机上有 16Go)。

dmesg

[   61.290365] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
[   61.290391] rcu:     4-...!: (16 GPs behind) idle=4cc/0/0x0 softirq=1782/1782 fqs=1
[   61.290408] rcu:     (detected by 2, t=5282 jiffies, g=633, q=71)
[   61.290424] Sending NMI from CPU 2 to CPUs 4:
[   61.290471] NMI backtrace for cpu 4 skipped: idling at native_safe_halt+0xe/0x10
[ …
Run Code Online (Sandbox Code Playgroud)

linux cpu debian virtualbox kernel

6
推荐指数
0
解决办法
5072
查看次数