当前位置: 首页 > news >正文

内核模块组成和裁剪参考表

1 环境

Linux 6.12.22

2 效果

裁剪后可减少内核大小30-50%,启动时间缩短20-40%

3 模块列表、功能说明以及是否可以裁剪

trace_init_flags_sys_enter 系统调用入口跟踪标志初始化 ✅ 是(调试功能)
trace_init_flags_sys_exit 系统调用出口跟踪标志初始化 ✅ 是(调试功能)
cpu_suspend_init CPU休眠状态初始化 ❌ 否(电源管理核心)
asids_init ASID(地址空间ID)分配器初始化 ❌ 否(MMU必需)
spawn_ksoftirqd 创建内核软中断守护进程 ❌ 否(中断处理核心)
init_signal_sysctls 信号处理的sysctl配置 ✅ 是(可优化配置)
init_umh_sysctls 用户模式助手sysctl配置 ✅ 是(特殊场景需求)
migration_init CPU迁移线程初始化 ❌ 否(SMP核心)
printk_set_kthreads_ready 设置kthread就绪状态 ❌ 否(内核打印核心)
srcu_bootup_announce SRCU启动公告 ❌ 否(RCU机制)
rcu_spawn_gp_kthread 创建RCU垃圾回收线程 ❌ 否(RCU核心)
check_cpu_stall_init RCU CPU停滞检测 ⚠️ 生产环境可裁(调试)
rcu_sysrq_init RCU SysRq调试支持 ✅ 是(调试功能)
cpu_stop_init CPU停止任务初始化 ❌ 否(热插拔核心)
init_kprobes kprobes内核探针支持 ✅ 是(动态调试)
init_trace_printk 跟踪printk格式化支持 ✅ 是(ftrace相关)
event_trace_enable_again 重新启用事件跟踪 ✅ 是(跟踪功能)
irq_work_init_threads 中断工作队列线程 ❌ 否(中断核心)
init_zero_pfn 零页帧初始化 ❌ 否(内存管理)
init_fs_inode_sysctls inode相关sysctl ✅ 是(文件系统优化)
init_fs_locks_sysctls 文件锁sysctl ✅ 是(特殊配置)
init_fs_sysctls 文件系统全局sysctl ✅ 是(可优化配置)
init_security_keys_sysctls 安全密钥sysctl ✅ 是(安全模块)
dynamic_debug_init 动态调试控制 ✅ 是(调试功能)
efi_memreserve_root_init EFI内存保留区初始化 ⚠️ UEFI系统必需
arm_enable_runtime_services ARM运行时服务 ⚠️ ARM64必需
efi_earlycon_remap_fb EFI控制台帧缓冲重映射 ⚠️ EFI系统依赖
dummy_timer_register 虚拟计时器注册 ❌ 否(时钟后备)
bpf_jit_charge_init BPF JIT内存记账 ⚠️ BPF使用时必需
ipc_ns_init IPC命名空间初始化 ⚠️ 容器技术依赖
init_mmap_min_addr 内存映射最小地址设置 ❌ 否(安全核心)
pci_realloc_setup_params PCI资源重分配参数 ⚠️ PCI设备依赖
inet_frag_wq_init IP分片重组工作队列 ❌ 否(网络核心)
fpsimd_init ARM SIMD浮点单元 ❌ 否(ARM64核心)
tagged_addr_init 地址标记支持 ❌ 否(ARM64特性)
init_amu_fie 活动监控单元初始化 ⚠️ 特定CPU需求
arm64_efi_rt_init ARM64 EFI运行时 ⚠️ UEFI系统必需
map_entry_trampoline 内核入口蹦床映射 ❌ 否(启动核心)
alloc_frozen_cpus 分配冻结CPU位图 ❌ 否(热插拔)
cpu_hotplug_pm_sync_init CPU热插拔与PM同步 ❌ 否(电源管理)
wq_sysfs_init 工作队列sysfs接口 ✅ 是(调试接口)
ksysfs_init 内核sysfs根目录 ❌ 否(sysfs核心)
pm_init 电源管理子系统 ❌ 否(电源核心)
rcu_set_runtime_mode RCU运行时模式设置 ❌ 否(RCU核心)
init_jiffies_clocksource jiffies时钟源 ❌ 否(时间核心)
futex_init FUTEX同步机制 ❌ 否(线程同步)
cgroup_wq_init Cgroup工作队列 ❌ 否(Cgroup核心)
cgroup1_wq_init Cgroup v1工作队列 ⚠️ v1版本专用
ftrace_mod_cmd_init ftrace修改命令 ✅ 是(跟踪功能)
init_graph_trace 函数图跟踪 ✅ 是(ftrace)
trace_events_eprobe_init_early 事件探测早期初始化 ✅ 是(跟踪)
init_kprobe_trace_early kprobe跟踪早期初始化 ✅ 是(调试)
cpu_pm_init CPU空闲电源管理 ❌ 否(PM核心)
bpf_offload_init BPF硬件卸载 ⚠️ 特定硬件需求
cgroup_bpf_wq_init Cgroup BPF工作队列 ⚠️ BPF+Cgroup时必需
execmem_late_init 可执行内存分配器 ❌ 否(内存管理)
fsnotify_init 文件系统通知机制 ✅ 是(监控功能)
filelock_init 文件锁初始化 ❌ 否(文件系统)
init_script_binfmt 脚本二进制格式 ✅ 是(特殊需求)
init_elf_binfmt ELF二进制格式 ❌ 否(执行核心)
init_compat_elf_binfmt 兼容ELF格式 ⚠️ 32位支持需求
debugfs_init 调试文件系统 ✅ 是(调试接口)
tracefs_init 跟踪文件系统 ✅ 是(ftrace相关)
register_xor_blocks XOR加速块注册 ⚠️ RAID优化
gpiolib_dev_init GPIO库设备框架 ⚠️ GPIO设备依赖
genpd_bus_init 通用电源域总线 ❌ 否(PM核心)
virtio_init 虚拟化框架 ⚠️ 虚拟化环境必需
iommu_init IOMMU子系统 ⚠️ IOMMU设备依赖
component_debug_init 组件调试支持 ✅ 是(调试)
soc_bus_register SoC总线注册 ⚠️ SoC设备依赖
free_raw_capacity 释放CPU原始容量数据 ❌ 否(调度核心)
arm_dmi_init ARM DMI信息收集 ⚠️ 特定平台
arch_timer_evtstrm_register 架构定时器事件流 ❌ 否(时钟核心)
sock_init 套接字子系统 ❌ 否(网络核心)
net_inuse_init 网络协议统计 ✅ 是(监控)
sock_struct_check 套接字结构检查 ✅ 是(调试)
init_default_flow_dissectors 默认流分类器 ❌ 否(网络核心)
netpoll_init 网络轮询支持 ⚠️ 特殊网络需求
netlink_proto_init Netlink协议 ❌ 否(内核通信)
genl_init 通用Netlink协议 ❌ 否(通信核心)
debug_monitors_init 调试监视器初始化 ✅ 是(ARM调试)
irq_sysfs_init 中断sysfs接口 ✅ 是(调试)
dma_atomic_pool_init DMA原子池 ⚠️ DMA设备依赖
release_early_probes 释放早期探测内存 ❌ 否(内存管理)
bdi_class_init 后备设备类 ❌ 否(块设备)
mm_sysfs_init 内存管理sysfs ✅ 是(监控)
init_per_zone_wmark_min 内存区水位线 ❌ 否(内存核心)
pcibus_class_init PCI总线类 ⚠️ PCI设备依赖
pci_driver_init PCI驱动子系统 ⚠️ PCI设备依赖
amba_init AMBA总线初始化 ⚠️ ARM外设需求
tty_class_init TTY设备类 ❌ 否(终端核心)
vtconsole_class_init 虚拟控制台类 ❌ 否(控制台)
iommu_dev_init IOMMU设备框架 ⚠️ IOMMU设备
devlink_class_init 设备链路类 ✅ 是(网络配置)
software_node_init 软件节点支持 ⚠️ 无固件设备时
wakeup_sources_debugfs_init 唤醒源调试接口 ✅ 是(调试)
wakeup_sources_sysfs_init 唤醒源sysfs ✅ 是(监控)
regmap_initcall 寄存器映射框架 ⚠️ 硬件寄存器访问
syscon_init 系统控制器框架 ⚠️ 特定平台
i2c_init I2C子系统 ⚠️ I2C设备依赖
kobject_uevent_init kobject事件 ❌ 否(设备模型)
reserve_memblock_reserved_regions 保留内存块区域 ❌ 否(内存)
aarch32_alloc_vdso_pages 32位兼容VDSO ⚠️ 32位应用支持
vdso_init VDSO虚拟库 ❌ 否(用户空间加速)
arch_hw_breakpoint_init 硬件断点支持 ✅ 是(调试)
adjust_protection_map 内存保护映射 ❌ 否(安全)
asids_update_limit
http://www.dtcms.com/a/393824.html

相关文章:

  • 140-understanding_the_armv8.x_and_armv9.x_extensions_guide
  • 【序列晋升】40 Spring Data R2DBC 轻量异步架构下的数据访问最佳实践
  • TGRS | 视觉语言模型 | 语言感知领域泛化实现高光谱跨场景分类, 代码开源!
  • Oracle / MySQL / MariaDB / SQL Server 常用连接与基础查询(Linux操作系统上)
  • 将 Jupyter Notebook 转换为 PDF
  • torchvision 编译安装 nano
  • 华为昇腾 910 到 950 系列 NPU 深度解析
  • 设计模式---门面模式
  • SQL Server从入门到项目实践(超值版)读书笔记 26
  • Datawhale学习笔记——深度语义匹配模型DSSM详解、实战与FAQ
  • 一文了解瑞萨MCU常用的芯片封装类型
  • LeetCode:44.二叉搜索树中第K小的元素
  • 初学者如何系统性地学习Linux?
  • LeetCode:43.验证二叉搜索树
  • [学习log] OT/ICS工业控制系统渗透测试
  • 六边形箱图 (Hexbin Plot):使用 Matplotlib 处理大规模散点数据
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(2——Parser解析html模块)
  • 电脑能ping开发板,开发板不能ping电脑的解决方法:
  • git 覆盖:检出特定分支的文件到当前分支
  • CentOS 8.5.2.111部署Zabbix6.0
  • 【Elasticsearch面试精讲 Day 20】集群监控与性能评估
  • hive调优系列-3.HQL语法和运行参数层面
  • 计算机网络学习(三、数据链路层)
  • Refresh keys changed: [] 2023.0.3.3 问题排查
  • 高并发内存池(二):三层缓存的整体框架设计
  • Android音视频编解码全流程之Extractor
  • 基于 @antv/x6 实现流程图
  • markdown 绘制流程图
  • Spark专题-第二部分:Spark SQL 入门(5)-算子介绍-Join
  • 平替Jira,推荐一款国产开源免费的项目管理工具-Kanass