linux內核編譯選項詳解:General setup

() Cross-compiler tool prefix
交叉編譯工具前綴,若是你要使用交叉編譯工具的話輸入相關前綴 Nweb

[ ] Compile also drivers which will not load (NEW)
編譯驅動程序將不加載 N緩存

() Local version - append to kernel release
設置內核版本號或名稱 N 性能優化

[ ] Automatically append version information to the version strin
自動添加版本信息版本字符串 N網絡

Kernel compression mode (Gzip) —>
內核壓縮模式 默認Gzipapp

((none)) Default hostname
默認主機名 本身設定dom

[*] Support for paging of anonymous memory (swap)
啓用或禁用swap虛擬內存支持 Ysvg

[*] System V IPC
進程通訊或同步函數

[*] POSIX Message Queues
消息隊列優先 Y工具

[*] Enable process_vm_readv/writev syscalls
啓用process_vm_readv / writev系統調用性能

[*] uselib syscall (NEW)
uselib系統調用

[*] Auditing support
審計的支持 Y

IRQ subsystem —>
IRQ子系統 用不到 N

Timers subsystem —>
定時器子系統

CPU/Task time and stats accounting —>
CPU/任務時間和統計覈算 屬於跟蹤過程

RCU Subsystem —>
高性能的同步鎖機制RCU(Read-Copy Update) ,顧名思義爲讀取-複製更新子系統

< > Kernel .config support
內核配置支持 Y

(20) Kernel log buffer size (16 => 64KB, 17 => 128KB)
內核日誌緩衝區 默認便可

(12) CPU kernel log buffer size contribution (13 => 8 KB, 17 => 1)
CPU內核日誌緩衝區大小

(13) Temporary per-CPU printk log buffer size (12 => 4KB, 13 => 8)
Linux每一個CPU的printk日誌緩衝區(log緩衝區)大小

[*] Memory placement aware NUMA scheduler
存儲器位置感知的NUMA調度

[*] Automatically enable NUMA aware memory/task placement
自動啓用NUMA(非一致性內存訪問)的內存/任務的均衡,在NUMA下,處理器能夠比非本地內存(內存分配給另一個處理器或在處理器之間共享的內存)更快地訪問它的本地內存

-*- Control Group support —>
控制組的支持 Y

-*- Namespaces support —>
命名空間支持

[*] Automatic process group scheduling
自動進程組調用 N

[ ] Enable deprecated sysfs features to support old userspace too
支持sysfs功能老用戶工具

-*- Kernel->user space relay support (formerly relayfs)
核心->用戶空間中繼支持 Y

[*] Initial RAM filesystem and RAM disk
(initramfs/initrd) suppor
初始內存文件系統和內存盤 N

() Initramfs source file(s)
輸入根文件系統的所在目錄 使用initramfs的內核啓動參數

[*] Support initial ramdisk/ramfs compressed using gzip
支持使用gzip壓縮初始化內存/ ramfs

[*] Support initial ramdisk/ramfs compressed using bzip2
支持使用bzip2壓縮初始化內存/ ramfs

[*] Support initial ramdisk/ramfs compressed using LZMA
支持使用LZMA壓縮初始化內存/ ramfs

[*] Support initial ramdisk/ramfs compressed using XZ
支持使用XZ壓縮初始化內存/ ramfs

[*] Support initial ramdisk/ramfs compressed using LZO
支持使用LZO壓縮初始化內存/ ramfs

[*] Support initial ramdisk/ramfs compressed using LZ4 (NEW)
支持使用LZ4壓縮初始化內存/ ramfs

Compiler optimization level (Optimize for performance) —>
編譯器優化級別(爲性能優化)

[ ] Configure standard kernel features (expert users) —>
配置標準的內核特性(僅供專家使用).這個選項容許你改變內核的」標準」特性(好比用於須要」非標準」內核的特定環境中),僅在你確實明白本身在幹什麼的時候纔開啓

[ ] Enable bpf() system call (NEW)
開啓內核的bpf()系統調用支持(從3.15版本開始引入),以支持eBPF功能.可用於內核調試與網絡包過濾

[*] Enable userfaultfd() system call
開啓內核的userfaultfd()系統調用支持(從4.3版本開始引入)

[ ] Embedded system
若是你是爲嵌入式系統編譯內核,能夠開啓此選項,這樣一些高級選項就會顯示出來.單獨選中此項自己對內核並沒有任何改變

[ ] PC/104 support (NEW)
pc / 104支持

Kernel Performance Events And Counters —>
性能相關的事件和計數器支持(既有硬件的支持也有軟件的支持).大多數現代CPU都會經過性能計數寄存器對特定類型的硬件事件(指令執行,緩存未命中,分支預測失敗)進行計數,同時又絲絕不會減慢內核和應用程序的運行速度.這些寄存器還會在某些事件計數到達特定的閾值時觸發中斷,從而能夠對代碼進行性能分析

[ ] Disable heap randomization
禁用堆隨機化(heap randomization)功能.堆隨機化可讓針對堆溢出的攻擊變得困難,可是不兼容那些古董級的二進制程序(2000年之前).若是你不須要使用這些古董程序,那麼選」N」.

Choose SLAB allocator (SLUB (Unqueued Allocator)) —>
選擇內存分配管理器,久經考驗的slab內存分配器,在大多數狀況下都具備良好的適應性.

[*] Allow slab caches to be merged (NEW)
容許slab緩存合併

[ ] SLAB freelist randomization (NEW)
slab自由列表隨機化

[*] SLUB per cpu partial cache (NEW)
CPU緩存加速局部對象的分配和釋放 Y

[*] Profiling support
啓用擴展分析支持 Y

OProfile system profiling
OProfile性能分析工具支持,僅用於調試目的.

[*] OProfile multiplexing support (EXPERIMENTAL)
OProfile multiplexing技術支持

[*] Kprobes
容許用戶捕獲幾乎全部的內核地址開始回調函數 調試功能 N

[*] Optimize very unlikely/likely branches
優化功能 實驗性的 Y

[ ] Static key selftest (NEW)
靜態密鑰自檢

[ ] GCC plugins (NEW) —-
GCC插件

Stack Protector buffer overflow detection (Strong) —>
堆棧保護緩衝區溢出檢測

[*] Use a virtually-mapped stack (NEW)
使用虛擬映射堆棧

[ ] Perform full reference count validation at the expense of speed(New)
以犧牲速度執行完整的引用計數驗證

GCOV-based kernel profiling —> 基於GCC的gcov(代碼覆蓋率測試工具)的代碼分析支持,僅用於調試