Gentoo Linux核心配置(二)

來源:互聯網
上載者:User

[*] Enable loadable module support  ---> 

[ ]   Forced module loading 
//允許強制載入模組,不選

[*]   Module unloading 
//允許卸載已經載入的模組,選上比較好

[ ]   Forced module unloading 

//這個選項能強行卸載模組,即使核心認為這樣並不安全,也就是說你可以把正在使用中的模快卸載掉。如果你不是核心開發人員或者骨灰級的玩家,不要選擇這個選項

[ ]   Module versioning support 

//有時候,你需要編譯模組。選這項會添加一些版本資訊,來給編譯的模組提供獨立的特性,以使不同的核心在使用同一模組時區別於它原有的模組。這有時可能會有點用。還是那個建議,如果是核心或者模組開發人員或者是骨灰玩家,可以選上,如果是普通使用者,還是別選了,沒用。

[ ]   Source checksum for all modules 
//為所有的模組校正源碼,如果你不是自己編寫核心模組就不需要。這個功能是為了防止更改了核心模組的代碼但忘記更改版本號碼而造成版本衝突。我估計現在沒有哪家公司在開發中還沒使用版本控制工具,所以不需要這項了。如果你不是自己寫核心模組,那就更不需要這一選項了。

 

-*- Enable the block layer  ---> 
//這個大項各子選項均按預設即可。。。

 

Processor type and features --->

 

[*] Tickless System (Dynamic Ticks) 
//非固定頻率系統,這項技術能讓新核心啟動並執行更有效率,並且更省電。動態時間片意思是當CPU處於空閑時,降低核心定時器的輪詢頻率。

 

[*] High Resolution Timer Support
//支援高頻率時間發生器,如果硬體不相容,則這個選項只會增大核心(大多數個人PC並沒有這個)。一般使用者可關閉。

[*] Symmetric multi-processing support 
//對稱式多處理器支援,如果你有多個CPU或者使用的是多核CPU就選上。

[ ] Support sparse irq numbering 
//支援稀有的中斷編號.不選。多塊(非多核)CPU可選。

[*] Enable MPS table 

// 讓多核/多CPU系統支援ACPI,可選


[ ] Support for big SMP systems with more than 8 CPUs

[ ] Support for extended (non-PC) x86 platforms 

//我是X86平台,不需要再支援其他平台

[*] Single-depth WCHAN output

//跟 proc 相關的最好不要關

[ ] Paravirtualized guest support  ---> 
//虛擬化用戶端支援,沒有什麼用處,不選

[*] Disable Bootmem code 

//This optimizes some complex initial memory allocation fragments within the Linux kernel.選不選均可。

[ ] Memtest

//記憶體測試

Processor family (Core 2/newer Xeon)  ---> 

//這裡請選擇對應的CPU,我是 core 2 duo

[ ] Generic x86 support

//這 一選項針對x86系列的CPU使用更多的常規最佳化。如果你在上面一項選的是i386、i586之類的才選這個通用x86支援,如果你的CPU能夠在上 述"Processor family"中找到就別選。我的是core 2 duo,在Processor family裡已找到,故不選。

[*] HPET Timer Support 
//HPET時鐘支援。允許核心使用 HPET 。HPET是替代8254晶片的新一代定時器,i686及以上層級的主板都支援,可以安全的選上。但是,HEPT只會在支援它的平台和BIOS上運行。如 果不支援,8254將會啟用。選N,將繼續使用8254時鐘。選上吧。

(8) Maximum number of CPUs

//支援的最大CPU數量,這個沒多大意義,填4填8影響微乎其微。注意是CPU核心數。如果是超執行緒處理器需要再乘以2.

[ ]  SMT (Hyperthreading) scheduler support

 

//支援Intel的超執行緒(HT)技術超執行緒調度器在某些情況下將會對 intel HT系列有較好的支援。如果你不清楚,不選。我的CPU是P7370,不支援超執行緒HT。不選。

[*] Multi-core scheduler support 
針對多核CPU進行調度策略最佳化多核調度機制支援,雙核的CPU要選。多核心調度在某些情況下將會對多核的CPU系列有較好的支援。我的是雙核,選之。

 

Preemption Model (Voluntary Kernel Preemption (Desktop))  ---│> 
內 核搶佔模式一些優先順序很高的程式可以先讓一些低優先順序的程式執行,即使這些程式是在核心態下執行。從而減少核心潛伏期,提高系統的響應。當然在一些特殊 的點的核心是不可搶先的,比如核心中的發送器自身在執行時就是不可被搶先的。這個特性可以提高案頭系統、即時系統的效能。

 

  • ( ) No Forced Preemption (Server) 
    適合伺服器環境的禁止核心搶佔這是傳統的LINUX搶先式模型,針對於高輸送量設計。它同樣在很多時候會提供很好的響應,但是也可能會有較長的延遲。如果你是建立伺服器或者用於科學運算,選這項,或者你想要最大化核心的原始運算能力,而不理會調度上的延遲。
  • (X) Voluntary Kernel Preemption (Desktop) 
    適 合普通案頭環境的自願核心搶佔這個選項通過向核心添加更多的“清晰搶先點”來減少核心延遲。這些新的搶先點以降低輸送量的代價,來降低核心的最大延遲,提 供更快的應用程式響應。這通過允許低優先順序的進程自動搶先來響應事件,即使進程在核心中進行系統調用。這使得應用程式運行得更“流暢”,即使系統已經是高 負荷運轉。如果你是為案頭系統編譯核心,選這項。
  • ( ) Preemptible Kernel (Low-Latency Desktop) 
    適 合運行即時程式的主動核心搶佔這個選項通過使所有核心代碼(非致命部分)編譯為“可搶先”來降低核心延遲。這通過允許低優先順序進程進行強制搶先來響應事 件,即使這些進程進行中系統調用或者未達到正常的“搶先點”。這使得應用程式運行得更加“流暢”即使系統已 經是高負荷運轉。代價是輸送量降低,核心運行開銷增大。選這項如果你是為案頭或者嵌入式系統編譯核心,需要非常低的延遲。如果你要最快的響應,選第三項。 我認為萬物是平衡的,低延遲意味著系統運行不穩定,因為過多來響應使用者的要求,所以我選第二個。

    [*] Reroute for broken boot IRQs 
    //防止同時收到多個boot IRQ(中斷)時,系統混亂

    [*] Machine Check / overheating reporting 
    讓CPU檢測到系統故障時通知核心,以便核心採取相應的措施(如過熱關機等)

     

    [*]   Intel MCE features

    //我的是Intel CPU

    [ ]   AMD MCE features 

    [ ]   Support for old Pentium 5 / WinChip machine checks

     

    < > Machine check injector support 
    //讓CPU檢測到系統故障時通知核心,以便核心採取相應的措施(如過熱關機等)

    < > Toshiba Laptop support 
    //東芝筆記本模組支援
    < > Dell laptop support 
    //Dell筆記本模組支援

     

    [ ] Enable X86 board specific fixups for reboot 
    //修正某些舊x86主板的重起bug,這種主板基本絕種了,不選。

    < > /dev/cpu/microcode - microcode support

    //這個選項是讓你使用不隨Linux核心發行的IA32 microcode,但是你必需有IA32 microcode的二進位檔案。當然你還必須在檔案系統選項中選擇/dev file system support才能正常的使用它。不選。

    < > /dev/cpu/*/msr - Model-specific register support

    //這個選項案頭使用者一般用不到,它主要用在Intel的嵌入式CPU中的,這個寄存器的作用也依賴與不同的CPU類型 而有所不同,一般可以用來改變一些CPU原有物理結構的用途,但不同的CPU用途差別也很大。在多cpu系統中讓特權CPU訪問x86的MSR寄存器。由於超執行緒並不是真正的多處理器環境,所以不要選擇這個。

    < > /dev/cpu/*/cpuid - CPU information support

    //這會在/dev/cpu中建立一系列的裝置檔案,用以讓過程去訪問指定的CPU。一般不用選。 

    High Memory Support (4GB)  ---> 

    //如果你有1GB-4GB之間的實體記憶體,選4GB選項。如果超過4GB,那麼選擇64GB。這將開啟 Intel 的物理地址延伸模式(PAE)。

    Memory model (Flat Memory) --->

    //正常使用者選用平坦記憶體模式。

    [ ] Enable KSM for page merging

    //一項與KVM虛擬機器有關的記憶體管理技術,不必要不用選。

    (4096) Low address space to protect from user allocation
    [ ] Enable recovery from hardware memory errors
    [ ] Allocate 3rd-level pagetables from highmem 

    //在記憶體很多(大於4G)的機器上將使用者空間的頁表放到高位記憶體區。

    []Check for low memory corruption 

    //低位記憶體髒資料檢查,預設是每60秒檢查一次。一般這種髒資料是因某些Bios處理不當引起的。我信任我目前的虛擬bios版本。故不選。

    [*] Reserve low 64K of RAM on AMI/Phoenix BIOSen

    //AMI/Phoenix 的BIOS啟用,我的HP本是Phoenix的BIOS。。

    [ ] Math emulation 不選
    數學副處理器模擬,486DX以上的cpu就不要選它了

    MTRR (Memory Type Range Register) support

    //據說可以提高顯卡效能。

    [ ]   MTRR cleanup support 
    //MTRR清理,選不選隨意吧,我沒選

    [ ] EFI runtime service suppor t不選
    EFI 啟動支援這裡允許核心在EFI平台上使用儲存於EFI韌體中的系統設定啟動。這也允許核心在運行時使用EFI的相關服務。這個選項只在有EFI韌體的系統 上有用,它會使核心增加8KB。另外,你必須使用最新的ELILO 登入器才能使核心採用EFI的韌體設定來啟動(GRUB和LILO完全不知道EFI是什麼東西)。即使你沒有EFI,卻選了這個選項,核心同樣可以啟動。 大家應該用的是GRUB,所以選上這個也沒什麼用。除非你的系統支援EFI(一種可代替傳統BIOS的技術)否則不選。

    [*] Enable seccomp to safely compute untrusted bytecode 

    //只有嵌入式系統可以不選

    [ ] Enable -fstack-protector buffer overflow detection (EXPERIMEN│

    //不知道是神馬,不選

    Timer frequency (1000 HZ)  --->

    //允許設定時鐘頻率。這是使用者定義的時鐘中斷頻率 100HZ-1000 HZ ,不過 100 HZ 對伺服器和NUMA系統更合適,它們不需要很快速的響應使用者的要求,因為時鐘中斷會導致匯流排爭用和緩衝打回。其實和前面的搶先式進程差不多,就是多少頻率來響應使用者要求。但是還是那 句話,一切是平衡的。機器過 快響應你,它自己的活就不知道做得好不好了。

    [*] kexec system call 
    //kexec 系統調用。kexec是一個用來關閉你當前核心,然後開啟另一個核心的系統調用。它和重啟很像,但是它不訪問系統韌體。由於和重啟很像,你可以啟動任何內 核,不僅僅 是LINUX。kexec這個名字是從 exec 系統調用來的。它只是一個進程,可以確定硬體是否正確關閉,Linus本人都沒話說,估計是受害不淺。我們當然不能上當,選N!提供kexec系統調用, 可以不必重啟而切換到另一個核心,如果需要就選擇,對大多數使用者來說並不需要。

    [ ] kernel crash dumps 

    //核心崩潰時,dump運行時資訊。就算crash了,我也不會去調試核心的core dump

    [ ] Build a relocatable kerne l
    //建立一個移動的核心,除非特殊要求否則只是增大核心大小而已

    (0x1000000) Alignment value to which kernel should be aligned 
    //核心編譯、運行時的物理地址匹配,不要更改該值除非你知道你在幹嘛

    -*- Support for hot-pluggable CPUs 
    //對SMP休眠和熱插拔CPU提供支援

    [ ] Compat VDSO support 不選
    //如果Glibc版本大於等於2.3.3就不選,否則就選上,目前的版本基本上都大於2.3.3

    [ ] Built-in kernel command line

     

     

     

     

     

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.