內核編譯選項

--> http://www.paeonia.me/Blog/

--> http://kenwublog.com/docs/linux-kernel-2-6-36-optimization.htm

--> http://jishuziyuan.com/archive/pkgefs/8471574.html

1.塊設備:

From:http://www.paeonia.me/Blog/2013/01/14/enable-the-block-layer/

-*- Enable the block layer —>
提供塊設備的支持。(能不選嗎)
[ ] Block layer SG support v4
提供SCSI接口支持,好像沒必要選吧,但是幫助中提示不確定就選。我還是不選了。
[ ] Block layer SG support v4 helper lib
用戶是用不到的,子系統要用的話自己會開的。不確定不選。
[ ] Block layer data integrity support
用於數據完整性支持。別高興太早了,前提是你的存儲設備是提供T10/SCSI完整域(??不會翻)或者是T13/ATA外部路徑保護(不清楚誒)。不確定的話不選。
Partition Types —>
[ ] Advanced partition selection
高級磁盤分區類型,不確定全不選。(該選項的目的是使用硬盤上其他Linux產生的不同架構的分區,我的理解)
IO Schedulers —>
I/O調度,傳說不同的進程會用不同的調度算法。
<*> Deadline I/O scheduler
將FIFO轉換成CSCAN。還是CSCAN蠻公平的,選。
<*> CFQ I/O scheduler
CFQ 儘可能使所有進程之間的帶寬平衡,適用於服務器和普通PC。
Default I/O scheduler (CFQ) —>
這裏還是蠻糾結的,不知道選什麼,默認吧。

從這裏還是看出存儲設備更新還是挺快的。以前的塊設備選項是有“支持2T”這一項,現在看來是默認了。

另一種解釋: From:http://hi.baidu.com/419836321/item/d8b25ad9e6fe38ef54347fd8

-*- Enable the block layer --->
塊設備支持,使用硬盤/USB/SCSI設備者必選這選項使得塊設備可以從內核移除。如果不選,那麼 blockdev 文件將不可用,一些文件系統比如 ext3 將不可用。這個選項會禁止 SCSI 字符設備和 USB 儲存設備,如果它們使用不同的塊設備。選Y,除非你知道你不需要掛載硬盤和其他類似的設備。不過此項無可選項

  • [*]   Support for large (2TB+) block devices and files    
    僅在使用大於2TB的塊設備時需要
  • [*]   Block layer SG support v4
    通用scsi塊設備第4版支持
  • [ ]   Block layer data integrity support
    塊設備數據完整性支持
  • IO Schedulers --->
    IO調度器I/O是輸入輸出帶寬控制,主要針對硬盤,是核心的必須的東西。這裏提供了三個IO調度器。
    • <*> Anticipatory I/O scheduler 
      使用於大多數環境假設一個塊設備只有一個物理查找磁頭(例如一個單獨的SATA硬盤),將多個隨機的小寫入流合併成一個大寫入流,用寫入延時換取最大的寫入吞吐量.適用於大多數環境,特別是寫入較多的環境(比如文件服務器)搶先式 I/O 調度方式是默認的磁盤調度方式。它對於大多數環境通常是比較好的選擇。但是它和Deadline I/O 調度器相比有點大和複雜,它有時在數據調入時會比較慢。
    • <*> Deadline I/O scheduler
      使用輪詢的調度器,簡潔小巧,提供了最小的讀取延遲和尚佳的吞吐量,特別適合於讀取較多的環境(比如數據庫)Deadline I/O調度器簡單而又緊密,在性能上和搶先式調度器不相上下,在一些數據調入時工作得更好。至於在單進程I/O磁盤調度上,它的工作方式幾乎和搶先式調度器相同,因此也是一個好的選擇。
    • <*> CFQ I/O scheduler
      使用QoS策略爲所有任務分配等量的帶寬,避免進程被餓死並實現了較低的延遲,可以認爲是上述兩種調度器的折中.適用於有大量進程的多用戶系統CFQ調度器嘗試爲所有進程提供相同的帶寬。它將提供平等的工作環境,對於桌面系統很合適。
    • Default I/O scheduler (CFQ) --->
      默認IO調度器我這樣理解上面三個IO調度器:搶先式是傳統的,它的原理是一有響應,就優先考慮調度。如果你的硬盤此時在運行一項工作,它也會暫停下來先響應用戶。期限式則是:所有的工作都有最終期限,在這之前必須完成。當用戶有響應時,它會根據自己的工作能否完成,來決定是否響應用戶。CFQ則是平均分配資源,不管你的響應多急,也不管它的工作量是多少,它都是平均分配,一視同仁的。
      • ( ) Anticipatory
      • ( ) Deadline
      • (X) CFQ
      • ( ) No-op
2.Enable loadable module support 

Posted on 2013-01-14 From:http://www.paeonia.me/Blog/2013/01/14/enable-loadable-module-support/


[*] Enable loadable module support —>
支持模塊的加載。Linux將內核不經常使用的代碼變成模塊,在需要的時候加載,這樣可以進一步減小內核體積。
[ ] Forced module loading
加載模塊時無需版本信息(modprobe –force) (really a bad idea)
[*] Module unloading
允許卸載已加載的模塊
[ ] Module versioning support
使用其他Kernel版本的模塊,可能和你的內核不兼容。不確定的話就不選。
[ ] Source checksum for all modules
內核維護人員使用,爲所有模塊所用的文件提供校驗碼。(因爲有人會修改了模塊而忘了更新版本) 不確定的話不選

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章