Linux图形化配置界面memuconfig详解(一)-General setup

Linux图形化配置界面memuconfig详解(一)

General setup

Cross-compiler tool prefix

交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认不使用。嵌入式linux不需要。

Compile also dirvers which will not load

在其他平台编译以便测试驱动程序编译流程,通常不需要。

Local version - append to kernel release

在内核版本后面加上自定义的版本字符串,默认不选择。

Automatically append version information to the version strin

自动增加版本信息到版本字符串,默认不选择。

Kernel compression mode (LZO)

内核压缩模式,默认为GZip

Default hostname

默认主机名称

Support for paging of anonymous memory (swap)

内核支持虚拟内存,即是交换分区(swap),嵌入式Linux不需要。

system V IPC

一种进程间通信规范,定义了消息对流,信号量,共享内存,需要勾选。

POSIX Message Queues

消息队列优先

Enable process_vm_readv/writev syscalls

使能这两个系统调用,这些调用允许具有正确权限的进程直接读取或写入另一个进程的地址空间。现在它们只用于openMPI快速进程通信,也可以用于调试程序.未来也许还会有其他用途。看情况勾选。

open by fhandle syscalls

是否允许使用文件handle替代文件名来进行文件操作,默认勾选。

uselib syscall

启用老旧的uselib()系统接口支持,仅在你需要使用基于libc5的古董级程序时才需要,推荐不选择。

Auditing support

审计的支持

IRQ subsystem

IRQ子系统

Expose hardware/virtual IRQ mapping via debugfs

通过debugfs中的irq_domain_mapping文件向用户显示硬件IRQ号/Linux IRQ号之间的对应关系.仅用于开发调试.推荐不选择。

Timers subsystem

定时器子系统

Timer tick handling (Idle dynticks system (tickless idle))

内核时钟滴答处理程序

Periodic timer ticks (const ant rate, no dynticks)

无论CPU是否需要,都强制按照固定频率不断触发时钟中断.这是最耗电的方式,不推荐使用

Idle dynticks system (tickless idle)

CPU在空闲状态时不产生不必要的时钟中断,以使处理器能够在较低能耗状态下运行以节约电力,适合于大多数场合

Full dynticks system (tickless)

即使CPU在忙碌状态也尽可能关闭所有时钟中断,适用于CPU在同一时间仅运行一个任务,或者用户空间程序极少与内核交互的场合.即使开启此选项,也需要额外设置"nohz_full=?"内核命令行参数才能真正生效.

Old Idle dynticks config

为了兼容以前的配置文件而存在的,不需要选中。

High Resolution Timer Support

支持高精度时钟,需要选中。

CPU/Task time and stats accounting

CPU/进程的时间及状态统计。

Cputime accounting (Simple tick based cputime accounting)
Simple tick based cputime accounting

简单的基于滴答的统计,适用于大多数场合。

Full dynticks CPU time accounting

利用上下文跟踪子系统,通过观察每一个内核与用户空间的边界进行统计。该选项对性能有显著的不良影响,目前仅用于完全无滴答子系统(CONFIG_NO_HZ_FULL)的调试。

Fine granularity task level IRQ time accounting

通过读取TSC时间戳进行统计,这是统计进程IRQ时间的更细粒度的统计方式,但对性能有些不良影响(特别是在RDTSC指令速度较慢的CPU上)。不需要选中。

BSD Process Accounting

用户空间程序可以要求内核将进程的统计信息写入一个指定的文件,主要包括进程的创建时间/创建者/内存占用等信息,不需要选中。

Export task/process statistics through netlink

通过netlink导出任务/进程统计信息,不需要选中。

RCU Subsystem

RCU子系统,非对称读写锁系统,是一种新的kernel锁机制,适用于读多写少环境,不做专家级别调整。

Kernel .config support

这个选项允许.config文件(即编译LINUX时的配置文件)保存在内核当中。它提供正在运行中的或者还在硬盘中的内核的相关配置选项。可以通过内核 镜像文件 kernel image file 用命令 script scripts/extract-ikconfig 来提取出来,作为当前内核重编译或者另一个内核编译的参考。如果你的内核在运行中,可以通过/proc/config.gz文件来读取。下一个选项提供这项支持。这个功能在pc中比较实用,在嵌入式上不需要。不选。

Control Group support

不做调整

Checkpoint/restore support

在内核中添加"检查点/恢复"支持。也就是添加一些辅助的代码用于设置进程的 text、data、 heap 段,并且在 /proc 文件系统中添加一些额外的条目。主要用于调试目的。不需要勾选。

Namespaces support

命名空间支持,每个进程有自己的命名空间,防止名称重复。需要勾选。

Automatic process group scheduling

自动进程组的调度。需要勾选。

Enable deprecated sysfs features to support old userspace tools

使能废弃的sysfs特性来支持老的用户空间工具。不选。

Kernel->user space relay support (formerly relayfs)

在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口 。保持默认状态。

Initial RAM filesystem and RAM disk (initramfs/initrd) support

初始 RAM 文件系统是一个 ramfs,它由引导加载程序(loadlin 或 lilo)加载,并在正常引导过程之前以 root 身份安装。 它通常用于加载挂载“真实”根文件系统等所需的模块。有关详细信息,请参见 <file:Documentation/admin-guide/initrd.rst>。 如果还包括 RAM 磁盘支持 (BLK_DEV_RAM),这也会启用初始 RAM 磁盘 (initrd) 支持并将 15 KB(在某些其他体系结构上更多)添加到内核大小。不确定就勾选

Initramfs source file(s)

这可以是带有 .cpio 后缀的单个 cpio 存档,也可以是用于构建 initramfs 映像的以空格分隔的目录和文件列表。 cpio 存档应包含用作 initramfs 映像的文件系统存档。 目录应包含要包含在 initramfs 映像中的文件系统布局。 文件应包含符合内核树中“usr/gen_init_cpio”程序描述的格式的条目。 当指定多个目录和文件时,initramfs 映像将是所有目录和文件的集合。

Configure standard kernel features (expert users)

配置标准内核功能(专家用户),默认。

Enable bpf() system call

开启内核的bpf()系统调用支持(从3.15版本开始引入),以支持eBPF功能。可用于内核调试与网络包过滤。勾选。

Use full shmem filesystem

启用shmem支持,shmem是基于共享内存的文件系统(可能用到swap),在启用TMPFS后可以挂载为tmpfs供用户空间使用,它比简单的ramfs先进许多。

Ennable AIO support

支持AIO(Asynchronous I/O 异步事件非阻塞I/O),(包含aio.h, aio_read,向内核发出读命令,aio_write向内核写命令,详细见‘AIO介绍‘文档),AIO机制为服务器端高并发应用程序提供了一种性能优化的手段。加大了系统吞吐量,所以一般用于大型服务器,一般不用选。

Enable madvise/fadvise syscalls

开启内核的madvise()/fadvise()系统调用支持(2.6.16版本开始引入),以允许应用程序预先提示内核,它将如何使用特定的内存与文件。这种措施有助于提升应用程序的性能.建议选”Y”。

Embedded system

嵌入式系统,一些专业的选项会出现。

Kernel Performance Events And Counters

看不懂,不确定就勾选。

Enable VM event counters for /proc/vmstat

允许在/proc/vmstat中包含虚拟内存事件记数器。

Enable SLUB debugging support

SLUB 具有广泛的调试支持功能。 禁用这些可以显着节省代码大小。 这也会禁用 SLUB sysfs 支持。 /sys/slab 将不存在,也不支持缓存验证等。

Disable heap randomization

禁用随机heap,不勾选。

SLUB per cpu partial cache

每个 cpu 部分缓存加速了处理器本地的对象分配和释放,但代价是空闲延迟的不确定性更大。 溢出时,这些缓存将被清除,这需要获取可能导致延迟峰值的锁。 通常,对于实时系统,人们会选择“否”。

Provide system-wide ring of trusted keys

不清楚

Profiling support

扩展的分析支持机制

Kprobes

kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。利用kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态的插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程。

Optimizze very unlikely/likely branches

对极不可能、非常可能分支的优化,不理解。

Stack Protector buffer overflow detection (None)

此选项打开“堆栈保护器”GCC 功能。 此功能在函数的开头将 Canary 值放在堆栈中返回地址之前的值,并在实际返回之前验证该值。 基于堆栈的缓冲区溢出(需要覆盖此返回地址)现在也会覆盖金丝雀,它会被检测到,然后通过内核恐慌消除攻击。

GCOV-based kernel profiling

不确定就不勾选。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值