linux內核參數詳解

內核參數列表


kernel.acct acct功能用於系統記錄進程信息,正常結束的進程都會在該文件尾添加對應的信息。異常結束是指重啓或其它致命的系統問題,不能夠記錄永不停止的進程。該設置需要配置三個值,分別是:

1.如果文件系統可用空間低於這個百分比值,則停止記錄進程信息。

2.如果文件系統可用空間高於這個百分比值,則開始記錄進程信息。

3.檢查上面兩個值的頻率(以秒爲單位)。

kernel.auto_msgmni 系統自動設置同時運行的消息隊列個數。

0:不自動

1:自動

kernel.blk_iopoll

kernel.cad_pid 接收Ctrl-alt-del操作的INT信號的進程的PID

kernel.cap_last_cap 系統capabilities最高支持的權限等級。

詳見:http://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.html

kernel.compat-log

kernel.core_pattern 設置core文件保存位置或文件名,只有文件名時,則保存在應用程序運行的目錄下

kernel.core_pipe_limit 定義了可以有多少個併發的崩潰程序可以通過管道模式傳遞給指定的core信息收集程序。如果超過了指定數,則後續的程序將不會處理,只在內核日誌中做記錄。0是個特殊的值,當設置爲0時,不限制並行捕捉崩潰的進程,但不會等待用戶程序蒐集完畢方纔回收/proc/pid目錄(就是說,崩潰程序的相關信息可能隨時被回收,蒐集的信息可能不全)。

kernel.core_uses_pid Core文件的文件名是否添加應用程序pid做爲擴展

0:不添加

1:添加

kernel.ctrl-alt-del 該值控制系統在接收到 ctrl+alt+delete 按鍵組合時如何反應:

1:不捕獲ctrl-alt-del,將系統類似於直接關閉電源

0:捕獲ctrl-alt-del,並將此信號傳至cad_pid保存的PID號進程進行處理

kernel.dmesg_restrict 限制哪些用戶可以查看syslog日誌

0:不限制

1:只有特權用戶能夠查看

kernel.domainname 網絡域名(重啓失效)

kernel.ftrace_dump_on_oops 確定是否將ftrace的緩衝區的信息打印出來,是通過printk來打印的

0:不打印

1:在系統oops時,自動dump堆棧信息到輸出終端

kernel.hostname 主機名(重啓失效)

kernel.hotplug 該文件給出了當前系統支持熱插拔(hotplug)時接收熱插拔事件的程序的名字(包括路徑)。

kernel.hung_task_check_count hung_task檢查的進程數量最大值

hung_task用於檢測一個進程是否在TASK_UNINTERRUPTIBLE狀態過長,只有在等待IO的時候進程纔會處於TASK_UNINTERRUPTIBLE狀態,這個狀態的進程內核不能夠通過信號將其喚醒並殺死。

kernel.hung_task_panic 設置hung_task發生後是否引發panic

1:觸發

0:不觸發

kernel.hung_task_timeout_secs hung_task超時時間(以秒爲單位),當一個進程在TASK_UNINTERRUPTIBLE狀態超過這個時間後,會發生一個hung_task

linux會設置40%的可用內存用來做系統cache,當flush數據時這40%內存中的數據由於和IO同步問題導致超時。

kernel.hung_task_warnings 最大產生警告數量,當發生一次hung_task時會產生一次警告,但警告數量到達此值後之後的hung_task就不會發生警告

kernel.kexec_load_disabled 表示kexec_load系統調用是否被禁止,此係統調用用於kdump。當發生了一次kexec_load後,此值會自動設置爲1。

0:開啓kexec_load系統調用

1:禁止kexec_load系統調用

kernel.keys.gc_delay

kernel.keys.maxbytes

kernel.keys.maxkeys

kernel.keys.persistent_keyring_expiry

kernel.keys.root_maxbytes

kernel.keys.root_maxkeys

kernel.kptr_restrict 是否啓用kptr_restrice,此功能爲安全性功能,用於屏蔽內核指針。

0:該特性被完全禁止;


1:那些使用“%pk”打印出來的內核指針被隱藏(會以一長串0替換掉),除非用戶有CAP_SYSLOG權限,並且沒有改變他們的UID/GID(防止在撤銷權限之前打開的文件泄露指針信息);


2:所有內核指使用“%pk”打印的都被隱藏。

kernel.max_lock_depth 觸發死鎖檢查的嵌套深度值

kernel.modprobe 該文件給出了當系統支持module時完成modprobe功能的程序的名字(包括路徑)。

kernel.modules_disabled 表示是否禁止內核運行時可加載模塊

0:不禁止

1:禁止

kernel.msgmax 消息隊列中單個消息的最大字節數

kernel.msgmnb 單個消息隊列中允許的最大字節長度(限制單個消息隊列中所有消息包含的字節數之和)

kernel.msgmni 系統中同時運行的消息隊列的個數

kernel.ngroups_max 每個用戶最大的組數

kernel.nmi_watchdog 使能nmi_watchdog

0:禁止

1:開啓

kernel.numa_balancing 是否開啓numa_balancing?這塊具體看代碼

kernel.numa_balancing_scan_delay_ms 單個進程每次進行numa_balancing掃描的間隔時間

kernel.numa_balancing_scan_period_max_ms 每次掃描最多花費的時間?

kernel.numa_balancing_scan_period_min_ms 每次掃描最少花費的時間?

kernel.numa_balancing_scan_size_mb 一次掃描進程多少MB的虛擬地址空間內存

kernel.numa_balancing_settle_count

kernel.osrelease 內核版本(例:3.10.0-229.7.2.rs1.2.ppc64)

kernel.ostype 操作系統的類型(例:Linux)

kernel.overflowgid Linux的GID爲32位,但有些文件系統只支持16位的GID,此時若進行寫操作會出錯;當GID超過65535時會自動被轉換爲一個固定值,這個固定值保存在這個文件中

kernel.overflowuid Linux的UID爲32位,但有些文件系統只支持16位的UID,此時若進行寫操作會出錯;當UID超過65535時會自動被轉換爲一個固定值,這個固定值保存在這個文件中

kernel.panic 系統發生panic時內核重新引導之前的等待時間

0:禁止重新引導

>0:重新引導前的等待時間(秒)

kernel.panic_on_oops 當系統發生oops或BUG時,所採取的措施

0:繼續運行

1:讓klog記錄oops的輸出,然後panic,若kernel.panic不爲0,則等待後重新引導內核

kernel.panic_on_warn 0:只警告,不發生panic

1:發生panic

kernel.perf_cpu_time_max_percent perf分析工具最大能夠佔用CPU性能的百分比

0:不限制

1~100:百分比值

kernel.perf_event_max_sample_rate 設置perf_event的最大取樣速率,默認值爲100000

kernel.perf_event_mlock_kb 設置非特權用戶能夠允許常駐內存的內存大小。默認爲516(KB)

kernel.perf_event_paranoid 用於限制訪問性能計數器的權限

0:僅允許訪問用戶空間的性能計數器

1:內核與用戶空間的性能計數器都可以訪問

2:僅允許訪問特殊的CPU數據(不包括跟蹤點)

-1:不限制

kernel.pid_max 進程pid號的最大值

kernel.poweroff_cmd 執行關機命令的進程(包括路徑)

kernel.powersave-nap PPC專用,如果開啓,則使用nap節能模式,關閉則使用doze節能模式

0:關閉

1:開啓

kernel.print-fatal-signals

kernel.printk 該文件有四個數字值,它們根據日誌記錄消息的重要性,定義將其發送到何處。按順序是:

1.控制檯日誌級別:優先級高於該值的消息將被打印至控制檯

2.默認的消息日誌級別:將用該優先級來打印沒有優先級的消息

3.最低的控制檯日誌級別:控制檯日誌級別可被設置的最小值(最高優先級)

4.默認的控制檯日誌級別:控制檯日誌級別的缺省值

數值越小,優先級越高,級別有(0~7)

kernel.printk_delay printk 消息之間的延遲毫秒數,此值不可設置

kernel.printk_ratelimit 等待允許再次printk的時間(以秒爲單位),與printk_ratelimit()函數有關

詳見:http://m.blog.csdn.net/blog/chenglinhust/8599159

kernel.printk_ratelimit_burst printk的緩存隊列長度(每個printk爲一個長度,比如此值爲5,而有段代碼是連續printk10次,系統的處理是先printk前5次,等待printk_ratelimit秒後,再打印後面5次)

kernel.pty.max 所能分配的PTY的最多個數(pty爲虛擬終端,用於遠程連接時)

kernel.pty.nr 當前分配的pty的個數

kernel.pty.reserve

kernel.random.boot_id 此文件是個只讀文件,包含了一個隨機字符串,在系統啓動的時候會自動生成這個uuid

kernel.random.entropy_avail 此文件是個只讀文件,給出了一個有效的熵(4096位)

kernel.random.poolsize 熵池大小,一般是4096位,可以改成任何大小

kernel.random.read_wakeup_threshold 該文件保存熵的長度,該長度用於喚醒因讀取/dev/random設備而待機的進程(random設備的讀緩衝區長度?)

kernel.random.uuid 此文件是個只讀文件,包含了一個隨機字符串,在random設備每次被讀的時候生成

kernel.random.write_wakeup_threshold 該文件保存熵的長度,該長度用於喚醒因寫入/dev/random設備而待機的進程(random設備的寫緩衝區長度?)

kernel.randomize_va_space 用於設置進程虛擬地址空間的隨機化

0:關閉進程虛擬地址空間隨機化

1:隨機化進程虛擬地址空間中的mmap映射區的初始地址,棧空間的初始地址以及VDSO頁的地址

2:在1的基礎上加上堆區的隨機化

(VDSO是用於兼容不同內核與glibc的接口的機制)

kernel.real-root-dev 根文件系統所在的設備(寫入格式是0x主設備號(16位)次設備號(16位),例如0x801,主設備號是8,次設備號是1),只有使用initrd.img此參數纔有效

kernel.sched_autogroup_enabled 啓用後,內核會創建任務組來優化桌面程序的調度。它將把佔用大量資源的應用程序放在它們自己的任務組,這有助於性能提升

0:禁止

1:開啓

kernel.sched_cfs_bandwidth_slice_us

kernel.sched_child_runs_first 設置保證子進程初始化完成後在父進程之前先被調度

0:先調度父進程

1:先調度子進程

kernel.sched_domain.{CPUID}.{域ID}.busy_factor

kernel.sched_domain.{CPUID}.{域ID}.busy_idx

kernel.sched_domain.{CPUID}.{域ID}.cache_nice_tries

kernel.sched_domain.{CPUID}.{域ID}.flags

kernel.sched_domain.{CPUID}.{域ID}.forkexec_idx

kernel.sched_domain.{CPUID}.{域ID}.idle_idx

kernel.sched_domain.{CPUID}.{域ID}.imbalance_pct 判斷該調度域是否已經均衡的一個基準值

kernel.sched_domain.{CPUID}.{域ID}.max_interval 設置此CPU進行負載均衡的最長間隔時間,上一次做了負載均衡經過了這個時間一定要再進行一次

kernel.sched_domain.{CPUID}.{域ID}.min_interval 設置此CPU進行負載均衡的最小間隔時間,在上一次負載均衡到這個時間內都不能再進行負載均衡

kernel.sched_domain.{CPUID}.{域ID}.name

kernel.sched_domain.{CPUID}.{域ID}.newidle_idx

kernel.sched_domain.{CPUID}.{域ID}.wake_idx

kernel.sched_latency_ns 表示正在運行進程的所能運行的時間的最大值,即使只有一個處於running狀態的進程,運行到這個時間也要重新調度一次(以納秒爲單位,在運行時會自動變化?)

同時這個值也是所有可運行進程都運行一次所需的時間,每個CPU的running進程數 = sched_latency_ns / sched_min_granularity_ns

kernel.sched_migration_cost_ns 該變量用來判斷一個進程是否還是hot,如果進程的運行時間(now - p->se.exec_start)小於它,那麼內核認爲它的code還在cache裏,所以該進程還是hot,那麼在遷移的時候就不會考慮它

kernel.sched_min_granularity_ns 表示一個進程在CPU上運行的最小時間,在此時間內,內核是不會主動挑選其他進程進行調度(以納秒爲單位,在運行時會自動變化?)

kernel.sched_nr_migrate 在多CPU情況下進行負載均衡時,一次最多移動多少個進程到另一個CPU上

kernel.sched_rr_timeslice_ms 用來指示round robin調度進程的間隔,這個間隔默認是100ms。

kernel.sched_rt_period_us 該參數與sched_rt_runtime_us一起決定了實時進程在以sched_rt_period爲週期的時間內,實時進程最多能夠運行的總的時間不能超過sched_rt_runtime_us

kernel.sched_rt_runtime_us 該參數與sched_rt_period一起決定了實時進程在以sched_rt_period爲週期的時間內,實時進程最多能夠運行的總的時間不能超過sched_rt_runtime_us

kernel.sched_shares_window_ns

kernel.sched_time_avg_ms

kernel.sched_tunable_scaling 當內核試圖調整sched_min_granularity,sched_latency和sched_wakeup_granularity這三個值的時候所使用的更新方法.

0:不調整

1:按照cpu個數以2爲底的對數值進行調整

2:按照cpu的個數進行線性比例的調整

kernel.sched_wakeup_granularity_ns 該變量表示進程被喚醒後至少應該運行的時間的基數,它只是用來判斷某個進程是否應該搶佔當前進程,並不代表它能夠執行的最小時間(sysctl_sched_min_granularity),如果這個數值越小,那麼發生搶佔的概率也就越高

kernel.sem 該文件包含4個值:

1.同一類信號的最多數量(semmsl)

2.系統中信號的最多數目,=semmni*semmsl (semmns)

3.每個semop系統調用所包含的最大的操作數(能調用的信號量的最多次數) (semopm)

4.系統中信號類型的數目的最大值,一個信號量標識符代表一個類型(semmni)

可見:http://www.cnblogs.com/jimeper/p/3141975.html

kernel.shmall 系統上可以使用的共享內存的總量(以字節爲單位)。

kernel.shmmax 系統所允許的最大共享內存段的大小(以字節爲單位)。

kernel.shmmni 整個系統共享內存段的最大數量。 

kernel.shm_rmid_forced 強制SHM空間和一個進程聯繫在一起,所以可以通過殺死進程來釋放內存

0:不設置

1:設置

kernel.softlockup_panic 設置產生softlockup時是否拋出一個panic。Softlockup用於檢測CPU可以響應中斷,但是在長時間內不能調度(比如禁止搶佔時間太長)的死鎖情況。這個機制運行在一個hrtimer的中斷上下文,每隔一段時間檢測一下是否發生了調度,如果過長時間沒發生調度,說明系統被死鎖。

0:不產生panic

1:產生panic

kernel.sysrq 該文件指定的值爲非零,則激活鍵盤上的sysrq按鍵。這個按鍵用於給內核傳遞信息,用於緊急情況下重啓系統。當遇到死機或者沒有響應的時候,甚至連 tty 都進不去,可以嘗試用 SysRq 重啓計算機。

kernel.tainted 1:加載非GPL module

0:強制加載module 

kernel.threads-max 系統中進程數量(包括線程)的最大值

kernel.timer_migration

kernel.usermodehelper.bset

kernel.usermodehelper.inheritable

kernel.version 版本號(例:#1 SMP Mon Sep 7 18:12:36 CST 2015)

kernel.watchdog 表示是否禁止softlockup模式和nmi_watchdog(softlockup用於喚醒watchdog)

0:禁止

1:開啓

kernel.watchdog_thresh 用於設置高精度定時器(hrtimer)、nmi事件、softlockup、hardlockup的閥值(以秒爲單位)

0:不設置閥值

 

 

內存參數列表 


vm.admin_reserve_kbytes 給有cap_sys_admin權限的用戶保留的內存數量(默認值是 min(free_page * 0.03, 8MB))

vm.block_dump 如果設置的是非零值,則會啓用塊I/O調試。

vm.compact_memory 進行內存壓縮,只有在啓用了CONFIG_COMPACTION選項纔有效

1:開始進行內存壓縮

vm.dirty_background_bytes 當髒頁所佔的內存數量超過dirty_background_bytes時,內核的flusher線程開始回寫髒頁。

vm.dirty_background_ratio 當髒頁所佔的百分比(相對於所有可用內存,即空閒內存頁+可回收內存頁)達到dirty_background_ratio時,write調用會喚醒內核的flusher線程開始回寫髒頁數據,直到髒頁比例低於此值,與dirty_ratio不同,write調用此時並不會阻塞。

vm.dirty_bytes 當髒頁所佔的內存數量達到dirty_bytes時,執行磁盤寫操作的進程自己開始回寫髒數據。

注意: dirty_bytes參數和 dirty_ratio參數是相對的,只能指定其中一個。當其中一個參數文件被寫入時,會立即開始計算髒頁限制,並且會將另一個參數的值清零

vm.dirty_expire_centisecs 髒數據的過期時間,超過該時間後內核的flusher線程被喚醒時會將髒數據回寫到磁盤上,單位是百分之一秒。

vm.dirty_ratio 髒頁所佔的百分比(相對於所有可用內存,即空閒內存頁+可回收內存頁)達到dirty_ratio時,write調用會喚醒內核的flusher線程開始回寫髒頁數據,直到髒頁比例低於此值,注意write調用此時會阻塞。

vm.dirty_writeback_centisecs 設置flusher內核線程喚醒的間隔,此線程用於將髒頁回寫到磁盤,單位是百分之一秒

vm.drop_caches 寫入數值可以使內核釋放page_cache,dentries和inodes緩存所佔的內存。

1:只釋放page_cache

2:只釋放dentries和inodes緩存

3:釋放page_cache、dentries和inodes緩存

vm.extfrag_threshold

vm.hugepages_treat_as_movable 用來控制是否可以從ZONE_MOVABLE內存域中分配大頁面。如果設置爲非零,大頁面可以從ZONE_MOVABLE內存域分配。ZONE_MOVABLE內存域只有在指定了kernelcore啓動參數的情況下才會創建,如果沒有指定kernelcore啓動參數, hugepages_treat_as_movable參數則沒有效果。

vm.hugetlb_shm_group 指定組ID,擁有該gid的用戶可以使用大頁創建SysV共享內存段

vm.laptop_mode 設置開啓laptop mode,此模式主要是通過降低硬盤的轉速來延長電池的續航時間。

0:關閉

1:啓動

vm.legacy_va_layout 進程地址空間內存佈局模式

0:經典佈局

1:新佈局

對於64位系統,默認採用經典佈局

vm.lowmem_reserve_ratio 決定了內核保護這些低端內存域的強度。預留的內存值和lowmem_reserve_ratio數組中的值是倒數關係,如果值是256,則代表1/256,即爲0.39%的zone內存大小。如果想要預留更多頁,應該設更小一點的值。

vm.max_map_count 定義了一個進程能擁有的最多的內存區域

vm.memory_failure_early_kill 控制發生某個內核無法處理的內存錯誤發生的時候,如何去殺掉這個進程。當這些錯誤頁有swap鏡像的時候,內核會很好的處理這個錯誤,不會影響任何應用程序,但是如果沒有的話,內核會把進程殺掉,避免內存錯誤的擴大

1:在發現內存錯誤的時候,就會把所有擁有此內存頁的進程都殺掉

0:只是對這部分頁進行unmap,然後把第一個試圖進入這個頁的進程殺掉

vm.memory_failure_recovery 是否開啓內存錯誤恢復機制

1:開啓

0:一旦出現內存錯誤,就panic

vm.min_free_kbytes 每個內存區保留的內存大小(以KB計算)

vm.min_slab_ratio 只在numa架構上使用,如果一個內存域中可以回收的slab頁面所佔的百分比(應該是相對於當前內存域的所有頁面)超過min_slab_ratio,在回收區的slabs會被回收。這樣可以確保即使在很少執行全局回收的NUMA系統中,slab的增長也是可控的。

vm.min_unmapped_ratio 只有在當前內存域中處於zone_reclaim_mode允許回收狀態的內存頁所佔的百分比超過min_unmapped_ratio時,內存域纔會執行回收操作。

vm.mmap_min_addr 指定用戶進程通過mmap可使用的最小虛擬內存地址,以避免其在低地址空間產生映射導致安全問題;如果非0,則不允許mmap到NULL頁,而此功能可在出現NULL指針時調試Kernel;mmap用於將文件映射至內存;

該設置意味着禁止用戶進程訪問low 4k地址空間

vm.nr_hugepages 大頁的最小數目,需要連續的物理內存;oracle使用大頁可以降低TLB的開銷,節約內存和CPU資源,但要同時設置memlock且保證其大於大頁;其與11gAMM不兼容

vm.nr_hugepages_mempolicy 與nr_hugepages類似,但只用於numa架構,配合numactl調整每個node的大頁數量

vm.nr_overcommit_hugepages 保留於緊急使用的大頁數,系統可分配最大大頁數= nr_hugepages + nr_overcommit_hugepages

vm.nr_pdflush_threads 只讀文件,保存了當前正在運行的pdflush線程的數量

vm.numa_zonelist_order 設置內核選擇zonelist的模式:

0:讓內核智能選擇使用Node或Zone方式的zonelist

1:選擇Node方式的zonelist,Node(0) ZONE_NORMAL -> Node(0) ZONE_DMA -> Node(1) ZONE_NORMAL

2:選擇Zone方式的,Node(0) ZONE_NORMAL -> Node(1) ZONE_NORMAL -> Node(0) ZONE_DMA

vm.oom_dump_tasks 如果啓用,在內核執行OOM-killing時會打印系統內進程的信息(不包括內核線程),信息包括pid、uid、tgid、vm size、rss、nr_ptes,swapents,oom_score_adj和進程名稱。這些信息可以幫助找出爲什麼OOM killer被執行,找到導致OOM的進程,以及瞭解爲什麼進程會被選中。

0:不打印系統內進程信息

1:打印系統內進程信息

vm.oom_kill_allocating_task 決定在oom的時候,oom killer殺哪些進程

非0:它會掃描進程隊列,然後將可能導致內存溢出的進程殺掉,也就是佔用內存最大的進程

0:它只殺掉導致oom的那個進程,避免了進程隊列的掃描,但是釋放的內存大小有限

vm.overcommit_kbytes 內存可過量分配的數量(單位爲KB)

vm.overcommit_memory 是否允許內存的過量分配,允許進程分配比它實際使用的更多的內存。

0:當用戶申請內存的時候,內核會去檢查是否有這麼大的內存空間,當超過地址空間會被拒絕

1:內核始終認爲,有足夠大的內存空間,直到它用完了位置

2:內核禁止任何形式的過量分配內存

Memory allocation limit = swapspace + physmem * (overcommit_ratio / 100)

vm.overcommit_ratio 內存可過量分配的百分比。

vm.page-cluster 參數控制一次寫入或讀出swap分區的頁面數量。它是一個對數值,如果設置爲0,表示1頁;如果設置爲1,表示2頁;如果設置爲2,則表示4頁。

vm.panic_on_oom 用於控制如何處理out-of-memory,可選值包括0/1/2

0:當內存不足時內核調用OOM killer殺死一些rogue進程,每個進程描述符都有一個oom_score標示,oom killer會選擇oom_score較大的進程

1:發生了OOM以後,如果有mempolicy/cpusets的進程限制,而這些nodes導致了內存問題的時候,OOM Killer會幹掉這些中的一個,系統也會恢復

2:OOM後必然panic

vm.percpu_pagelist_fraction 每個CPU能從每個zone所能分配到的pages的最大值(單位每個zone的1/X),0爲不限制

vm.stat_interval VM信息更新頻率(以秒爲單位)

vm.swappiness 該值越高則linux越傾向於將部分長期沒有用到的頁swap,即便有足夠空餘物理內存(1~100)

vm.user_reserve_kbytes

vm.vfs_cache_pressure 表示內核回收用於directory和inode cache內存的傾向;缺省值100表示內核將根據pagecache和swapcache,把directory和inode cache保持在一個合理的百分比;降低該值低於100,將導致內核傾向於保留directory和inode cache;增加該值超過100,將導致內核傾向於回收directory和inode cache

vm.zone_reclaim_mode 參數只有在啓用CONFIG_NUMA選項時纔有效,zone_reclaim_mode用來控制在內存域OOM時,如何來回收內存。

0:禁止內存域回收,從其他zone分配內存

1:啓用內存域回收

2:通過回寫髒頁回收內存

4:通過swap回收內存

 

 

網絡參數列表 


 

net.bridge.bridge-nf-call-arptables

net.bridge.bridge-nf-call-ip6tables

net.bridge.bridge-nf-call-iptables

net.bridge.bridge-nf-filter-pppoe-tagged

net.bridge.bridge-nf-filter-vlan-tagged

net.bridge.bridge-nf-pass-vlan-input-dev

net.core.bpf_jit_enable 基於時間規則的編譯器,用於基於PCAP(packet capture library)並使用伯克利包過濾器(Berkeley Packet Filter,如tcpdump)的用戶工具,可以大幅提升複雜規則的處理性能。

0:禁止

1:開啓

2:開啓並請求編譯器將跟蹤數據時間寫入內核日誌

net.core.busy_poll 默認對網絡設備進行poll和select操作的超時時間(us),具體數值最好以sockets數量而定

net.core.busy_read 默認讀取在設備幀隊列上數據幀的超時時間(us),推薦值:50

net.core.default_qdisc

net.core.dev_weight 每個CPU一次NAPI中斷能夠處理網絡包數量的最大值

net.core.message_burst 設置每十秒寫入多少次請求警告;此設置可以用來防止DOS***

net.core.message_cost 設置每一個警告的度量值,缺省爲5,當用來防止DOS***時設置爲0

net.core.netdev_budget 每次軟中斷處理的網絡包個數

net.core.netdev_max_backlog 設置當個別接口接收包的速度快於內核處理速度時允許的最大的包序列

net.core.netdev_tstamp_prequeue 0:關閉,接收的數據包的時間戳在RPS程序處理之後進行標記,這樣有可能時間戳會不夠準確

1:打開,時間戳會儘可能早的標記

net.core.optmem_max 表示每個socket所允許的最大緩衝區的大小(字節)

net.core.rmem_default 設置接收socket的缺省緩存大小(字節)

net.core.rmem_max 設置接收socket的最大緩存大小(字節)

net.core.rps_sock_flow_entries

net.core.somaxconn 定義了系統中每一個端口最大的監聽隊列的長度,這是個全局的參數。

net.core.warnings 已經不使用此參數

net.core.wmem_default 設置發送的socket缺省緩存大小(字節)

net.core.wmem_max 設置發送的socket最大緩存大小(字節)

net.core.xfrm_acq_expires

net.core.xfrm_aevent_etime

net.core.xfrm_aevent_rseqth

net.core.xfrm_larval_drop

net.ipv4.cipso_cache_bucket_size 限制cipso緩存項的數量,如果在緩存中新添加一行超出了這個限制,那麼最舊的緩存項會被丟棄以釋放出空間。

net.ipv4.cipso_cache_enable 是否啓用cipso緩存。

0:不啓用

1:啓用

net.ipv4.cipso_rbm_optfmt 是否開啓cipso標誌優化選項,如果開啓,數據包中標誌將會在32bit對齊

0:關閉

1:開啓

net.ipv4.cipso_rbm_strictvalid 是否開啓cipso選項的嚴格檢測

0:不開啓

1:開啓

net.ipv4.conf.all.accept_local 設置是否允許接收從本機IP地址上發送給本機的數據包

0:不允許

1:允許

net.ipv4.conf.all.accept_redirects 收發接收ICMP重定向消息。對於主機來說默認爲True,對於用作路由器時默認值爲False

0:禁止

1:允許

net.ipv4.conf.all.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv4.conf.all.arp_accept 默認對不在ARP表中的IP地址發出的APR包的處理方式

0:不在ARP表中創建對應IP地址的表項

1:在ARP表中創建對應IP地址的表項

net.ipv4.conf.all.arp_announce 對網絡接口上,本地IP地址的發出的,ARP迴應,作出相應級別的限制: 確定不同程度的限制,宣佈對來自本地源IP地址發出Arp請求的接口

0: 在任意網絡接口(eth0,eth1,lo)上的任何本地地址

1:儘量避免不在該網絡接口子網段的本地地址做出arp迴應. 當發起ARP請求的源IP地址是被設置應該經由路由達到此網絡接口的時候很有用.此時會檢查來訪IP是否爲所有接口上的子網段內ip之一.如果改來訪IP不屬於各個網絡接口上的子網段內,那麼將採用級別2的方式來進行處理. 

2:對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP數據包的源地址並嘗試選擇與能與該地址通信的本地地址.首要是選擇所有的網絡接口的子網中外出訪問子網中包含該目標IP地址的本地地址. 如果沒有合適的地址被發現,將選擇當前的發送網絡接口或其他的有可能接受到該ARP迴應的網絡接口來進行發送.

net.ipv4.conf.all.arp_filter 0:內核設置每個網絡接口各自應答其地址上的arp詢問。這項看似會錯誤的設置卻經常能非常有效,因爲它增加了成功通訊的機會。在Linux主機上,每個IP地址是網絡接口獨立的,而非一個複合的接口。只有在一些特殊的設置的時候,比如負載均衡的時候會帶來麻煩。

1:允許多個網絡介質位於同一子網段內,每個網絡界面依據是否內核指派路由該數據包經過此接口來確認是否回答ARP查詢(這個實現是由來源地址確定路由的時候決定的),換句話說,允許控制使用某一塊網卡(通常是第一塊)迴應arp詢問。

net.ipv4.conf.all.arp_ignore 定義對目標地址爲本地IP的ARP詢問不同的應答模式

0:迴應任何網絡接口上對任何本地IP地址的arp查詢請求

1:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求

2:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求,且來訪IP必須在該網絡接口的子網段內 

3:不迴應該網絡界面的arp請求,而只對設置的唯一和連接地址做出迴應

8:不迴應所有(本地地址)的arp查詢

net.ipv4.conf.all.arp_notify arp通知鏈操作

0:不做任何操作

1:當設備或硬件地址改變時自動產生一個arp請求

net.ipv4.conf.all.bootp_relay 接收源地址爲0.a.b.c,目的地址不是本機的數據包,是爲了支持bootp服務

0:關閉

1:開啓

net.ipv4.conf.all.disable_policy 禁止internet協議安全性驗證

0:禁止禁止

1:開啓禁止

net.ipv4.conf.all.disable_xfrm 禁止internet協議安全性加密

0:禁止禁止

1:開啓禁止

net.ipv4.conf.all.force_igmp_version

net.ipv4.conf.all.forwarding 在該接口打開轉發功能

0:禁止

1:允許

net.ipv4.conf.all.log_martians 記錄帶有不允許的地址的數據報到內核日誌中。

0:禁止

1:允許

net.ipv4.conf.all.mc_forwarding 是否進行多播路由。只有內核編譯有CONFIG_MROUTE並且有路由服務程序在運行該參數纔有效。

0:禁止

1:允許

net.ipv4.conf.all.medium_id 通常,這個參數用來區分不同媒介.兩個網絡設備可以使用不同的值,使他們只有其中之一接收到廣播包.通常,這個參數被用來配合proxy_arp實現roxy_arp的特性即是允許arp報文在兩個不同的網絡介質中轉發.

0:表示各個網絡介質接受他們自己介質上的媒介

-1:表示該媒介未知。

net.ipv4.conf.all.promote_secondaries 0:當接口的主IP地址被移除時,刪除所有次IP地址

1:當接口的主IP地址被移除時,將次IP地址提升爲主IP地址

net.ipv4.conf.all.proxy_arp 打開arp代理功能。

0:禁止

1:允許

net.ipv4.conf.all.proxy_arp_pvlan 迴應代理ARP的數據包從接收到此代理ARP請求的網絡接口出去。

net.ipv4.conf.all.route_localnet

net.ipv4.conf.all.rp_filter 1:通過反向路徑回溯進行源地址驗證(在RFC1812中定義)。對於單穴主機和stub網絡路由器推薦使用該選項。

0:不通過反向路徑回溯進行源地址驗證。

net.ipv4.conf.all.secure_redirects 僅僅接收發給默認網關列表中網關的ICMP重定向消息

0:禁止

1:允許

net.ipv4.conf.all.send_redirects 允許發送重定向消息。(路由使用)

0:禁止

1:允許

net.ipv4.conf.all.shared_media 發送或接收RFC1620 共享媒體重定向。會覆蓋ip_secure_redirects的值。

0:禁止

1:允許

net.ipv4.conf.all.src_valid_mark

net.ipv4.conf.all.tag

net.ipv4.conf.{網絡接口}.accept_local 設置是否允許接收從本機IP地址上發送給本機的數據包

0:不允許

1:允許

net.ipv4.conf.{網絡接口}.accept_redirects 收發接收ICMP重定向消息。對於主機來說默認爲True,對於用作路由器時默認值爲False

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv4.conf.{網絡接口}.arp_accept 默認對不在ARP表中的IP地址發出的APR包的處理方式

0:不在ARP表中創建對應IP地址的表項

1:在ARP表中創建對應IP地址的表項

net.ipv4.conf.{網絡接口}.arp_announce 對網絡接口上,本地IP地址的發出的,ARP迴應,作出相應級別的限制: 確定不同程度的限制,宣佈對來自本地源IP地址發出Arp請求的接口

0: 在任意網絡接口(eth0,eth1,lo)上的任何本地地址

1:儘量避免不在該網絡接口子網段的本地地址做出arp迴應. 當發起ARP請求的源IP地址是被設置應該經由路由達到此網絡接口的時候很有用.此時會檢查來訪IP是否爲所有接口上的子網段內ip之一.如果改來訪IP不屬於各個網絡接口上的子網段內,那麼將採用級別2的方式來進行處理. 

2:對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP數據包的源地址並嘗試選擇與能與該地址通信的本地地址.首要是選擇所有的網絡接口的子網中外出訪問子網中包含該目標IP地址的本地地址. 如果沒有合適的地址被發現,將選擇當前的發送網絡接口或其他的有可能接受到該ARP迴應的網絡接口來進行發送.

net.ipv4.conf.{網絡接口}.arp_filter 0:內核設置每個網絡接口各自應答其地址上的arp詢問。這項看似會錯誤的設置卻經常能非常有效,因爲它增加了成功通訊的機會。在Linux主機上,每個IP地址是網絡接口獨立的,而非一個複合的接口。只有在一些特殊的設置的時候,比如負載均衡的時候會帶來麻煩。

1:允許多個網絡介質位於同一子網段內,每個網絡界面依據是否內核指派路由該數據包經過此接口來確認是否回答ARP查詢(這個實現是由來源地址確定路由的時候決定的),換句話說,允許控制使用某一塊網卡(通常是第一塊)迴應arp詢問。

net.ipv4.conf.{網絡接口}.arp_ignore 定義對目標地址爲本地IP的ARP詢問不同的應答模式

0:迴應任何網絡接口上對任何本地IP地址的arp查詢請求

1:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求

2:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求,且來訪IP必須在該網絡接口的子網段內 

3:不迴應該網絡界面的arp請求,而只對設置的唯一和連接地址做出迴應

8:不迴應所有(本地地址)的arp查詢

net.ipv4.conf.{網絡接口}.arp_notify arp通知鏈操作

0:不做任何操作

1:當設備或硬件地址改變時自動產生一個arp請求

net.ipv4.conf.{網絡接口}.bootp_relay 接收源地址爲0.a.b.c,目的地址不是本機的數據包,是爲了支持bootp服務

0:關閉

1:開啓

net.ipv4.conf.{網絡接口}.disable_policy 禁止internet協議安全性驗證

0:禁止禁止

1:開啓禁止

net.ipv4.conf.{網絡接口}.disable_xfrm 禁止internet協議安全性加密

0:禁止禁止

1:開啓禁止

net.ipv4.conf.{網絡接口}.force_igmp_version

net.ipv4.conf.{網絡接口}.forwarding 在該接口打開轉發功能

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.log_martians 記錄帶有不允許的地址的數據報到內核日誌中。

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.mc_forwarding 是否進行多播路由。只有內核編譯有CONFIG_MROUTE並且有路由服務程序在運行該參數纔有效。

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.medium_id 通常,這個參數用來區分不同媒介.兩個網絡設備可以使用不同的值,使他們只有其中之一接收到廣播包.通常,這個參數被用來配合proxy_arp實現roxy_arp的特性即是允許arp報文在兩個不同的網絡介質中轉發.

0:表示各個網絡介質接受他們自己介質上的媒介

-1:表示該媒介未知。

net.ipv4.conf.{網絡接口}.promote_secondaries 0:當接口的主IP地址被移除時,刪除所有次IP地址

1:當接口的主IP地址被移除時,將次IP地址提升爲主IP地址

net.ipv4.conf.{網絡接口}.proxy_arp 打開arp代理功能。

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.proxy_arp_pvlan 迴應代理ARP的數據包從接收到此代理ARP請求的網絡接口出去。

net.ipv4.conf.{網絡接口}.route_localnet

net.ipv4.conf.{網絡接口}.rp_filter 1:通過反向路徑回溯進行源地址驗證(在RFC1812中定義)。對於單穴主機和stub網絡路由器推薦使用該選項。

0:不通過反向路徑回溯進行源地址驗證。

net.ipv4.conf.{網絡接口}.secure_redirects 僅僅接收發給默認網關列表中網關的ICMP重定向消息

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.send_redirects 允許發送重定向消息。(路由使用)

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.shared_media 發送或接收RFC1620 共享媒體重定向。會覆蓋ip_secure_redirects的值。

0:禁止

1:允許

net.ipv4.conf.{網絡接口}.src_valid_mark

net.ipv4.conf.{網絡接口}.tag

net.ipv4.conf.default.accept_local 設置是否允許接收從本機IP地址上發送給本機的數據包

0:不允許

1:允許

net.ipv4.conf.default.accept_redirects 收發接收ICMP重定向消息。對於主機來說默認爲True,對於用作路由器時默認值爲False

0:禁止

1:允許

net.ipv4.conf.default.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv4.conf.default.arp_accept 默認對不在ARP表中的IP地址發出的APR包的處理方式

0:不在ARP表中創建對應IP地址的表項

1:在ARP表中創建對應IP地址的表項

net.ipv4.conf.default.arp_announce 對網絡接口上,本地IP地址的發出的,ARP迴應,作出相應級別的限制: 確定不同程度的限制,宣佈對來自本地源IP地址發出Arp請求的接口

0: 在任意網絡接口(eth0,eth1,lo)上的任何本地地址

1:儘量避免不在該網絡接口子網段的本地地址做出arp迴應. 當發起ARP請求的源IP地址是被設置應該經由路由達到此網絡接口的時候很有用.此時會檢查來訪IP是否爲所有接口上的子網段內ip之一.如果改來訪IP不屬於各個網絡接口上的子網段內,那麼將採用級別2的方式來進行處理. 

2:對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP數據包的源地址並嘗試選擇與能與該地址通信的本地地址.首要是選擇所有的網絡接口的子網中外出訪問子網中包含該目標IP地址的本地地址. 如果沒有合適的地址被發現,將選擇當前的發送網絡接口或其他的有可能接受到該ARP迴應的網絡接口來進行發送.

net.ipv4.conf.default.arp_filter 0:內核設置每個網絡接口各自應答其地址上的arp詢問。這項看似會錯誤的設置卻經常能非常有效,因爲它增加了成功通訊的機會。在Linux主機上,每個IP地址是網絡接口獨立的,而非一個複合的接口。只有在一些特殊的設置的時候,比如負載均衡的時候會帶來麻煩。

1:允許多個網絡介質位於同一子網段內,每個網絡界面依據是否內核指派路由該數據包經過此接口來確認是否回答ARP查詢(這個實現是由來源地址確定路由的時候決定的),換句話說,允許控制使用某一塊網卡(通常是第一塊)迴應arp詢問。

net.ipv4.conf.default.arp_ignore 定義對目標地址爲本地IP的ARP詢問不同的應答模式

0:迴應任何網絡接口上對任何本地IP地址的arp查詢請求

1:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求

2:只回答目標IP地址是來訪網絡接口本地地址的ARP查詢請求,且來訪IP必須在該網絡接口的子網段內 

3:不迴應該網絡界面的arp請求,而只對設置的唯一和連接地址做出迴應

8:不迴應所有(本地地址)的arp查詢

net.ipv4.conf.default.arp_notify arp通知鏈操作

0:不做任何操作

1:當設備或硬件地址改變時自動產生一個arp請求

net.ipv4.conf.default.bootp_relay 接收源地址爲0.a.b.c,目的地址不是本機的數據包,是爲了支持bootp服務

0:關閉

1:開啓

net.ipv4.conf.default.disable_policy 禁止internet協議安全性驗證

0:禁止禁止

1:開啓禁止

net.ipv4.conf.default.disable_xfrm 禁止internet協議安全性加密

0:禁止禁止

1:開啓禁止

net.ipv4.conf.default.force_igmp_version

net.ipv4.conf.default.forwarding 在該接口打開轉發功能

0:禁止

1:允許

net.ipv4.conf.default.log_martians 記錄帶有不允許的地址的數據報到內核日誌中。

0:禁止

1:允許

net.ipv4.conf.default.mc_forwarding 是否進行多播路由。只有內核編譯有CONFIG_MROUTE並且有路由服務程序在運行該參數纔有效。

0:禁止

1:允許

net.ipv4.conf.default.medium_id 通常,這個參數用來區分不同媒介.兩個網絡設備可以使用不同的值,使他們只有其中之一接收到廣播包.通常,這個參數被用來配合proxy_arp實現roxy_arp的特性即是允許arp報文在兩個不同的網絡介質中轉發.

0:表示各個網絡介質接受他們自己介質上的媒介

-1:表示該媒介未知。

net.ipv4.conf.default.promote_secondaries 0:當接口的主IP地址被移除時,刪除所有次IP地址

1:當接口的主IP地址被移除時,將次IP地址提升爲主IP地址

net.ipv4.conf.default.proxy_arp 打開arp代理功能。

0:禁止

1:允許

net.ipv4.conf.default.proxy_arp_pvlan 迴應代理ARP的數據包從接收到此代理ARP請求的網絡接口出去。

net.ipv4.conf.default.route_localnet

net.ipv4.conf.default.rp_filter 1:通過反向路徑回溯進行源地址驗證(在RFC1812中定義)。對於單穴主機和stub網絡路由器推薦使用該選項。

0:不通過反向路徑回溯進行源地址驗證。

net.ipv4.conf.default.secure_redirects 僅僅接收發給默認網關列表中網關的ICMP重定向消息

0:禁止

1:允許

net.ipv4.conf.default.send_redirects 允許發送重定向消息。(路由使用)

0:禁止

1:允許

net.ipv4.conf.default.shared_media 發送或接收RFC1620 共享媒體重定向。會覆蓋ip_secure_redirects的值。

0:禁止

1:允許

net.ipv4.conf.default.src_valid_mark

net.ipv4.conf.default.tag

net.ipv4.icmp_echo_ignore_all 忽略所有接收到的icmp echo請求的包(會導致機器無法ping通)

0:不忽略

1:忽略

net.ipv4.icmp_echo_ignore_broadcasts 忽略所有接收到的icmp echo請求的廣播

0:不忽略

1:忽略

net.ipv4.icmp_errors_use_inbound_ifaddr 當前爲 ICMP 錯誤消息選擇源地址的方式,是使用存在的接口地址

1:表示內核通過這個選項允許使用接收到造成這一錯誤的報文的接口的地址

net.ipv4.icmp_ignore_bogus_error_responses 某些路由器違背RFC1122標準,其對廣播幀發送僞造的響應來應答。這種違背行爲通常會被以警告的方式記錄在系統日誌中。

0:記錄到系統日誌中

1:忽略

net.ipv4.icmp_ratelimit 限制發向特定目標的匹配icmp_ratemask的ICMP數據報的最大速率。配合icmp_ratemask使用。

0:沒有任何限制

>0:表示指定時間內中允許發送的個數。(以jiffies爲單位)

net.ipv4.icmp_ratemask 在這裏匹配的ICMP被icmp_ratelimit參數限制速率.

匹配的標誌位: IHGFEDCBA9876543210

默認的掩碼值: 0000001100000011000 (6168)

0 Echo Reply

3 Destination Unreachable *

4 Source Quench *

5 Redirect

8 Echo Request

B Time Exceeded *

C Parameter Problem *

D Timestamp Request

E Timestamp Reply

F Info Request

G Info Reply

H Address Mask Request

I Address Mask Reply

* 號的被默認限速

net.ipv4.igmp_max_memberships 限制加入一個多播組的最大成員數.

net.ipv4.igmp_max_msf 限制多播源地址過濾數量.

net.ipv4.igmp_qrv

net.ipv4.inet_peer_maxttl 條目的最大存活期。在此期限到達之後,如果緩衝池沒有耗盡壓力的話(例如:緩衝池中的條目數目非常少),不使用的條目將會超時。該值以 jiffies爲單位測量。

net.ipv4.inet_peer_minttl 條目的最低存活期。在重組端必須要有足夠的碎片(fragment)存活期。這個最低存活期必須保證緩衝池容積是否少於 inet_peer_threshold。該值以 jiffies爲單位測量。

net.ipv4.inet_peer_threshold INET對端存儲器某個合適值,當超過該閥值條目將被丟棄。該閥值同樣決定生存時間以及廢物收集通過的時間間隔。條目越多,存活期越低,GC 間隔越短。

net.ipv4.ip_default_ttl 該文件表示一個數據報的生存週期(Time To Live),即最多經過多少路由器。

net.ipv4.ip_dynaddr 撥號上網大部分都是使用動態IP地址,我們不知道遠程撥號服務器的IP地址是多少,也不可能知道它會給電腦分配什麼IP地址

0:使用靜態IP

1:使用動態IP地址

net.ipv4.ip_early_demux

net.ipv4.ip_forward 是否打開ipv4的IP轉發。

0:禁止

1:打開

net.ipv4.ip_forward_use_pmtu

net.ipv4.ipfrag_high_thresh 表示用於重組IP分段的內存分配最高值,一旦達到最高內存分配值,其它分段將被丟棄,直到達到最低內存分配值。

net.ipv4.ipfrag_low_thresh 表示用於重組IP分段的內存分配最低值

net.ipv4.ipfrag_max_dist 相同的源地址ip碎片數據報的最大數量. 這個變量表示在ip碎片被添加到隊列前要作額外的檢查.如果超過定義的數量的ip碎片從一個相同源地址到達,那麼假定這個隊列的ip碎片有丟失,已經存在的ip碎片隊列會被丟棄,如果爲0關閉檢查

net.ipv4.ipfrag_secret_interval hash表中ip碎片隊列的重建延遲.(單位 秒)

net.ipv4.ipfrag_time 表示一個IP分段在內存中保留多少秒

net.ipv4.ip_local_port_range 本地發起連接時使用的端口範圍,tcp初始化時會修改此值

net.ipv4.ip_local_reserved_ports

net.ipv4.ip_nonlocal_bind 允許進程綁定到非本地地址

0:禁止

1:允許

net.ipv4.ip_no_pmtu_disc 該文件表示在全局範圍內關閉路徑MTU探測功能。

net.ipv4.neigh.{網絡接口}.anycast_delay 對相鄰請求信息的回覆的最大延遲時間(單位 秒)

net.ipv4.neigh.{網絡接口}.app_solicit 在使用多播探測前,通過netlink發送到用戶空間arp守護程序的最大探測數

net.ipv4.neigh.{網絡接口}.base_reachable_time 一旦發現相鄰記錄,至少在一段介於 base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內,該記錄是有效的.

如果收到上層協議的肯定反饋, 那麼記錄的有效期將延長.(單位 秒)

net.ipv4.neigh.{網絡接口}.base_reachable_time_ms 一旦發現相鄰記錄,至少在一段介於 base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內,該記錄是有效的.

如果收到上層協議的肯定反饋, 那麼記錄的有效期將延長.(單位 毫秒)

net.ipv4.neigh.{網絡接口}.delay_first_probe_time 發現某個相鄰層記錄無效後,發出第一個探測要等待的時間。(單位 秒)

net.ipv4.neigh.{網絡接口}.gc_stale_time 決定檢查一次相鄰層記錄的有效性的週期. 當相鄰層記錄失效時,將在給它發送數據前,再解析一次.(單位 秒)

net.ipv4.neigh.{網絡接口}.locktime 防止相鄰記錄被過度頻繁刷新,引起抖動,只有距鄰居上次刷新時間超過這時才允許被再次刷新.(單位 秒)

net.ipv4.neigh.{網絡接口}.mcast_solicit 在把記錄標記爲不可達之前, 用多播/廣播方式解析地址的最大次數.

net.ipv4.neigh.{網絡接口}.proxy_delay 當接收到有一個arp請求時,在迴應前可以延遲的時間,這個請求是要得到一個已知代理arp項的地址.(單位 百毫秒)

net.ipv4.neigh.{網絡接口}.proxy_qlen 能放入代理 ARP 地址隊列的數據包最大數目.

net.ipv4.neigh.{網絡接口}.retrans_time 重發一個arp請求前的等待的秒數

net.ipv4.neigh.{網絡接口}.retrans_time_ms 重發一個arp請求前的等待的毫秒數

net.ipv4.neigh.{網絡接口}.ucast_solicit arp請求最多發送次數

net.ipv4.neigh.{網絡接口}.unres_qlen 最大掛起arp請求的數量,這些請求都正在被解析中.

net.ipv4.neigh.{網絡接口}.unres_qlen_bytes 最大處理arp包的字節數

net.ipv4.neigh.default.anycast_delay 對相鄰請求信息的回覆的最大延遲時間(單位 秒)

net.ipv4.neigh.default.app_solicit 在使用多播探測前,通過netlink發送到用戶空間arp守護程序的最大探測數

net.ipv4.neigh.default.base_reachable_time 一旦發現相鄰記錄,至少在一段介於 base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內,該記錄是有效的.

如果收到上層協議的肯定反饋, 那麼記錄的有效期將延長.(單位 秒)

net.ipv4.neigh.default.base_reachable_time_ms 一旦發現相鄰記錄,至少在一段介於 base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內,該記錄是有效的.

如果收到上層協議的肯定反饋, 那麼記錄的有效期將延長.(單位 毫秒)

net.ipv4.neigh.default.delay_first_probe_time 發現某個相鄰層記錄無效後,發出第一個探測要等待的時間。(單位 秒)

net.ipv4.neigh.default.gc_interval 垃圾收集器收集相鄰層記錄和無用記錄的運行週期(單位 秒)

net.ipv4.neigh.default.gc_stale_time 決定檢查一次相鄰層記錄的有效性的週期. 當相鄰層記錄失效時,將在給它發送數據前,再解析一次.(單位 秒)

net.ipv4.neigh.default.gc_thresh1 存在於ARP高速緩存中的最少個數,如果少於這個數,垃圾收集器將不會運行

net.ipv4.neigh.default.gc_thresh2 保存在 ARP 高速緩存中的最多的記錄軟限制. 垃圾收集器在開始收集前,允許記錄數超過這個數字,在創建新表項時如果發現5秒沒有刷新過,那麼進行強制回收

net.ipv4.neigh.default.gc_thresh3 保存在 ARP 高速緩存中的最多記錄的硬限制, 一旦高速緩存中的數目高於此, 垃圾收集器將馬上運行

net.ipv4.neigh.default.locktime 防止相鄰記錄被過度頻繁刷新,引起抖動,只有距鄰居上次刷新時間超過這時才允許被再次刷新.(單位 秒)

net.ipv4.neigh.default.mcast_solicit 在把記錄標記爲不可達之前, 用多播/廣播方式解析地址的最大次數.

net.ipv4.neigh.default.proxy_delay 當接收到有一個arp請求時,在迴應前可以延遲的時間,這個請求是要得到一個已知代理arp項的地址.(單位 百毫秒)

net.ipv4.neigh.default.proxy_qlen 能放入代理 ARP 地址隊列的數據包最大數目.

net.ipv4.neigh.default.retrans_time 重發一個arp請求前的等待的秒數

net.ipv4.neigh.default.retrans_time_ms 重發一個arp請求前的等待的毫秒數

net.ipv4.neigh.default.ucast_solicit arp請求最多發送次數

net.ipv4.neigh.default.unres_qlen 最大掛起arp請求的數量,這些請求都正在被解析中.

net.ipv4.neigh.default.unres_qlen_bytes 最大處理arp包的字節數

net.ipv4.ping_group_range

net.ipv4.route.error_burst 這個參數和error_cast一起用於限制有多少個icmp不可達消息被髮送.當數據包不能到達下一跳時會發送icmp不可達數據包.

當一些主機忽略我們的icmp重定向消息時也會打印一些錯誤信息到dmesg.這個選項也控制打印的次數.(單位 秒)

net.ipv4.route.error_cost 這個參數和error_burst一起用於限制有多少個icmp不可達消息被髮送.當數據包不能到達下一跳時會發送icmp不可達數據包.

當一些主機忽略我們的icmp重定向消息時也會打印一些錯誤信息到dmesg.這個選項也控制打印的次數.

error_cost值越大,那麼icmp不可達和寫錯誤信息的頻率就越低.(單位 秒)

net.ipv4.route.flush 寫這個文件就會刷新路由高速緩衝.

net.ipv4.route.gc_elasticity 用來控制路由緩存垃圾回收機制的頻率和行爲.當路由表一個hash項的長度超過此值時,會進行緩存縮減,當路由緩存項長度超過

ip_rt_gc_elasticity << rt_hash_log(表示路由高速緩存hash table的容量以2爲對數所得的值) 時會進行強烈的回收.

net.ipv4.route.gc_interval 此參數定義了路由表垃圾回收的間隔(秒)

net.ipv4.route.gc_min_interval 已不再使用,並被gc_min_interval_ms取代

net.ipv4.route.gc_min_interval_ms 此參數定義了路由表垃圾回收的最小間隔(ms)

net.ipv4.route.gc_thresh 路由hash table的大小,當cache中的路由條數超過此值時,開始垃圾回收.

net.ipv4.route.gc_timeout 設置一個路由表項的過期時長(秒).

net.ipv4.route.max_size 路由高速緩存的最大項數,超過會進行清除舊項操作.

net.ipv4.route.min_adv_mss 該文件表示最小的MSS(Maximum Segment Size)大小,取決於第一跳的路由器MTU。(以字節爲單位)

net.ipv4.route.min_pmtu 該文件表示最小路徑MTU的大小。

net.ipv4.route.mtu_expires 該文件表示PMTU信息緩存多長時間(秒)。

net.ipv4.route.redirect_load 決定是否要向特定主機發送更多的ICMP重定向的時間因子.一旦達到load時間或number個數就不再發送.

net.ipv4.route.redirect_number 決定是否要向特定主機發送更多的ICMP重定向的數量因子.一旦達到load時間或number個數就不再發送.

net.ipv4.route.redirect_silence 重定向的超時.經過這麼長時間後,重定向會重發,而不管是否已經因爲超過load或者number限制而停止.

net.ipv4.tcp_abort_on_overflow 守護進程太忙而不能接受新的連接,就向對方發送reset消息

0:關閉

1:開啓

net.ipv4.tcp_adv_win_scale 計算緩衝開銷bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale > 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale <= 0)。

net.ipv4.tcp_allowed_congestion_control 列出了tcp目前允許使用的擁塞控制算法,只能在下面可用的算法中選擇.

net.ipv4.tcp_app_win 保留max(window/2^tcp_app_win, mss)數量的窗口用於應用緩衝。當爲0時表示不需要緩衝。

net.ipv4.tcp_available_congestion_control 列出了tcp目前可以使用的擁塞控制算法.

net.ipv4.tcp_base_mss tcp探察路徑上mtu的最低邊界限制, mss+TCP頭部+TCP選項+IP頭+IP選項.

net.ipv4.tcp_challenge_ack_limit

net.ipv4.tcp_congestion_control 當前正在使用的擁塞控制算法.

net.ipv4.tcp_dsack 表示是否允許TCP發送“兩個完全相同”的SACK。

0:禁止

1:啓用

net.ipv4.tcp_early_retrans

net.ipv4.tcp_ecn 表示是否打開TCP的直接擁塞通告功能。

0:禁止

1:啓用

net.ipv4.tcp_fack 表示是否打開FACK擁塞避免和快速重傳功能。

0:禁止

1:打開

net.ipv4.tcp_fastopen

net.ipv4.tcp_fastopen_key

net.ipv4.tcp_fin_timeout 本端斷開的socket連接,TCP保持在FIN-WAIT-2狀態的時間。對方可能會斷開連接或一直不結束連接或不可預料的進程死亡。默認值爲 60 秒。過去在2.2版本的內核中是 180 秒。您可以設置該值,但需要注意,如果您的機器爲負載很重的web服務器,您可能要冒內存被大量無效數據報填滿的風險,FIN-WAIT-2 sockets 的危險性低於 FIN-WAIT-1,因爲它們最多隻吃 1.5K 的內存,但是它們存在時間更長。

net.ipv4.tcp_frto

net.ipv4.tcp_keepalive_intvl 表示發送TCP探測的頻率,乘以tcp_keepalive_probes表示斷開沒有相應的TCP連接的時間。

net.ipv4.tcp_keepalive_probes 該文件表示丟棄TCP連接前,進行最大TCP保持連接偵測的次數。保持連接僅在SO_KEEPALIVE套接字選項被打開時才被髮送。

net.ipv4.tcp_keepalive_time 表示從最後一個包結束後多少秒內沒有活動,才發送keepalive包保持連接,默認7200s,理想可設爲1800s,即如果非正常斷開,1800s後可通過keepalive知道。

net.ipv4.tcp_limit_output_bytes

net.ipv4.tcp_low_latency 允許 TCP/IP 棧適應在高吞吐量情況下低延時的情況;這個選項一般情形是的禁用。(但在構建Beowulf 集羣的時候,打開它很有幫助)

0:關閉

1:開啓

net.ipv4.tcp_max_orphans 系統所能處理不屬於任何進程的TCP sockets最大數量。假如超過這個數量,那麼不屬於任何進程的連接會被立即reset,並同時顯示警告信息。之所以要設定這個限制,純粹爲了抵禦那些簡單的 DoS ***,千萬不要依賴這個或是人爲的降低這個限制。

net.ipv4.tcp_max_ssthresh

net.ipv4.tcp_max_syn_backlog 對於那些依然還未獲得客戶端確認的連接請求,需要保存在隊列中最大數目。默認值是1024,可提高到2048。

net.ipv4.tcp_max_tw_buckets 系統在同時所處理的最大timewait sockets 數目。如果超過此數的話,time-wait socket 會被立即砍除並且顯示警告信息。

net.ipv4.tcp_mem 該文件保存了三個值,分別是

low:當TCP使用了低於該值的內存頁面數時,TCP不會考慮釋放內存。

presure:當TCP使用了超過該值的內存頁面數量時,TCP試圖穩定其內存使用,進入pressure模式,當內存消耗低於low值時則退出pressure狀態。

high:允許所有tcp sockets用於排隊緩衝數據報的頁面量。

net.ipv4.tcp_min_tso_segs

net.ipv4.tcp_moderate_rcvbuf 接收數據時是否調整接收緩存

0:不調整

1:調整

net.ipv4.tcp_mtu_probing 是否開啓tcp層路徑mtu發現,自動調整tcp窗口等信

0:關閉

1:開啓

net.ipv4.tcp_no_metrics_save 如果開啓,tcp會在連接關閉時也就是LAST_ACK狀態保存各種連接信息到路由緩存中,新建立的連接可以使用這些條件來初始化.。通常這會增加總體的系統性能,但是有些時候也會引起性能下降.

0:關閉

1:開啓

net.ipv4.tcp_orphan_retries 針對孤立的socket(也就是已經從進程上下文中刪除了,可是還有一些清理工作沒有完成).在丟棄TCP連接之前重試的最大的次數

net.ipv4.tcp_reordering TCP流中重排序的數據報最大數量。

net.ipv4.tcp_retrans_collapse 對於某些有bug的打印機提供針對其bug的兼容性。

0:不啓用

1:啓用

net.ipv4.tcp_retries1 該文件表示放棄迴應一個TCP連接請求前進行重傳的次數。

net.ipv4.tcp_retries2 該文件表示放棄在已經建立通訊狀態下的一個TCP數據包前進行重傳的次數。

net.ipv4.tcp_rfc1337 這個開關可以啓動對於在RFC1337中描述的"tcp 的time-wait暗殺危機"問題的修復。啓用後,內核將丟棄那些發往time-wait狀態TCP套接字的RST 包.

0:關閉

1:開啓

net.ipv4.tcp_rmem 此文件中保存有三個值,分別是

Min:爲TCP socket預留用於接收緩衝的內存最小值。每個tcp socket都可以在建立後使用它。即使在內存出現緊張情況下tcp socket都至少會有這麼多數量的內存用於接收緩衝

Default:爲TCP socket預留用於接收緩衝的內存數量,默認情況下該值會影響其它協議使用的net.core.rmem_default 值,一般要低於net.core.rmem_default的值。該值決定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win=0默認值情況下,TCP窗口大小爲65535。

Max:用於TCP socket接收緩衝的內存最大值。該值不會影響net.core.rmem_max,"靜態"選擇參數SO_SNDBUF則不受該值影響。

net.ipv4.tcp_sack 表示是否啓用有選擇的應答(Selective Acknowledgment),這可以通過有選擇地應答亂序接收到的報文來提高性能(這樣可以讓發送者只發送丟失的報文段);(對於廣域網通信來說)這個選項應該啓用,但是這會增加對 CPU 的佔用。

0:不啓用

1:啓用

net.ipv4.tcp_slow_start_after_idle 如果設置滿足RFC2861定義的行爲,在從新開始計算擁塞窗口前延遲一些時間,這延遲的時間長度由當前rto決定.

0:關閉

1:開啓

net.ipv4.tcp_stdurg 使用 TCP urg pointer 字段中的主機請求解釋功能。大部份的主機都使用老舊的BSD解釋,因此如果您在 Linux 打開它,或會導致不能和它們正確溝通。

0:關閉

1:打開

net.ipv4.tcp_synack_retries 對於遠端的連接請求SYN,內核會發送SYN + ACK數據報,以確認收到上一個 SYN連接請求包。

這是所謂的三次握手.這裏決定內核在放棄連接之前所送出的 SYN+ACK 數目.

net.ipv4.tcp_syncookies 表示是否打開TCP同步標籤(syncookie),內核必須打開了 CONFIG_SYN_COOKIES項進行編譯。同步標籤(syncookie)可以防止一個套接字在有過多試圖連接到達時引起過載。

0:關閉

1:打開

net.ipv4.tcp_syn_retries 表示本機向外發起TCP SYN連接超時重傳的次數,不應該高於255;該值僅僅針對外出的連接,對於進來的連接由tcp_retries1控制。

net.ipv4.tcp_thin_dupack

net.ipv4.tcp_thin_linear_timeouts

net.ipv4.tcp_timestamps 表示是否啓用以一種比超時重發更精確的方法(請參閱 RFC 1323)來啓用對 RTT 的計算;爲了實現更好的性能應該啓用這個選項。

0:不啓用

1:啓用

net.ipv4.tcp_tso_win_divisor 控制根據擁塞窗口的百分比,是否來發送相應的延遲tso frame

0:關閉

>0:值越大表示tso frame延遲發送可能越小.

net.ipv4.tcp_tw_recycle 打開快速 TIME-WAIT sockets 回收。除非得到技術專家的建議或要求,請不要隨意修改這個值。

net.ipv4.tcp_tw_reuse 表示是否允許重新應用處於TIME-WAIT狀態的socket用於新的TCP連接。

0:關閉

1:打開

net.ipv4.tcp_window_scaling 表示設置tcp/ip會話的滑動窗口大小是否可變。

0:不可變

1:可變

net.ipv4.tcp_wmem 此文件中保存有三個值,分別是

Min:爲TCP socket預留用於發送緩衝的內存最小值。每個tcp socket都可以在建立後使用它。

Default:爲TCP socket預留用於發送緩衝的內存數量,默認情況下該值會影響其它協議使用的net.core.wmem_default 值,一般要低於net.core.wmem_default的值。

Max:用於TCP socket發送緩衝的內存最大值。該值不會影響net.core.wmem_max,"靜態"選擇參數SO_SNDBUF則不受該值影響。

net.ipv4.tcp_workaround_signed_windows 0:假定遠程連接端正常發送了窗口收縮選項,即使對端沒有發送.

1:假定遠程連接端有錯誤,沒有發送相關的窗口縮放選項

net.ipv4.udp_mem 該文件保存了三個值,分別是

low:當UDP使用了低於該值的內存頁面數時,UDP不會考慮釋放內存。

presure:當UDP使用了超過該值的內存頁面數量時,UDP試圖穩定其內存使用,進入pressure模式,當內存消耗低於low值時則退出pressure狀態。

high:允許所有UDP sockets用於排隊緩衝數據報的頁面量。

net.ipv4.udp_rmem_min

net.ipv4.udp_wmem_min

net.ipv4.xfrm4_gc_thresh

net.ipv6.bindv6only 默認監聽ipv6端口(不管監聽與否,都與是否關閉ipv4監聽無關)

0:不監聽

1:監聽

net.ipv6.conf.all.accept_dad 0:取消DAD功能

1:啓用DAD功能,但link-local地址衝突時,不關閉ipv6功能

2:啓用DAD功能,但link-local地址衝突時,關閉ipv6功能

net.ipv6.conf.all.accept_ra 接受IPv6路由通告.並且根據得到的信息自動設定.

0:不接受路由通告

1:當forwarding禁止時接受路由通告

2:任何情況下都接受路由通告

net.ipv6.conf.all.accept_ra_defrtr 是否接受ipv6路由器發出的默認路由設置

0:不接受

1:接受

net.ipv6.conf.all.accept_ra_pinfo 當accept_ra開啓時此選項會自動開啓,關閉時則會關閉

net.ipv6.conf.all.accept_ra_rt_info_max_plen 在路由通告中路由信息前綴的最大長度。當

net.ipv6.conf.all.accept_ra_rtr_pref

net.ipv6.conf.all.accept_redirects 是否接受ICMPv6重定向包

0:拒絕接受ICMPv6,當forwarding=1時,此值會自動設置爲0

1:啓動接受ICMPv6,當forwarding=0時,此值會自動設置爲1

net.ipv6.conf.all.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv6.conf.all.autoconf 設定本地連結地址使用L2硬件地址. 它依據界面的L2-MAC address自動產生一個地址如:"fe80::201:23ff:fe45:6789"

net.ipv6.conf.all.dad_transmits 接口增加ipv6地址時,發送幾次DAD包

net.ipv6.conf.all.disable_ipv6 是否禁用ipv6

0:不禁用

1:禁用

net.ipv6.conf.all.force_mld_version

net.ipv6.conf.all.force_tllao

net.ipv6.conf.all.forwarding 所有網絡接口開啓ipv6轉發

0:關閉

1:開啓

net.ipv6.conf.all.hop_limit 缺省hop限制

net.ipv6.conf.all.max_addresses 所有網絡接口自動配置IP地址的數量最大值

0:不限制

>0:最大值

net.ipv6.conf.all.max_desync_factor DESYNC_FACTOR的最大值,DESYNC_FACTOR是一個隨機數,用於防止客戶機在同一時間生成新的地址

net.ipv6.conf.all.mc_forwarding 是否使用多路廣播進行路由選擇,需要內核編譯時開啓了CONFIG_MROUTE選項並且開啓了多路廣播路由選擇的後臺daemon

0:關閉

1:開啓

net.ipv6.conf.all.mldv1_unsolicited_report_interval 每次發送MLDv1的主動報告的時間間隔(ms)

net.ipv6.conf.all.mldv2_unsolicited_report_interval 每次發送MLDv2的主動報告的時間間隔(ms)

net.ipv6.conf.all.mtu ipv6的最大傳輸單元

net.ipv6.conf.all.ndisc_notify 如何向鄰居設備通知地址和設備的改變

0:不通知

1:主動向鄰居發送廣播報告硬件地址或者設備發生了改變

net.ipv6.conf.all.optimistic_dad 是否啓用optimistic DAD(樂觀地進行重複地址檢查)

0:關閉

1:開啓

net.ipv6.conf.all.proxy_ndp 此功能類似於ipv4的nat,可將內網的包轉發到外網,外網不能主動發給內網。

0:關閉

1:開啓

net.ipv6.conf.all.regen_max_retry 嘗試生成臨時地址的次數

net.ipv6.conf.all.router_probe_interval 路由器探測間隔(秒)

net.ipv6.conf.all.router_solicitation_delay 在發送路由請求之前的等待時間(秒).

net.ipv6.conf.all.router_solicitation_interval 在每個路由請求之間的等待時間(秒).

net.ipv6.conf.all.router_solicitations 假定沒有路由的情況下發送的請求個數

net.ipv6.conf.all.temp_prefered_lft

net.ipv6.conf.all.temp_valid_lft

net.ipv6.conf.all.use_tempaddr

net.ipv6.conf.{網絡接口}.accept_dad

net.ipv6.conf.{網絡接口}.accept_ra

net.ipv6.conf.{網絡接口}.accept_ra_defrtr

net.ipv6.conf.{網絡接口}.accept_ra_pinfo

net.ipv6.conf.{網絡接口}.accept_ra_rt_info_max_plen

net.ipv6.conf.{網絡接口}.accept_ra_rtr_pref

net.ipv6.conf.{網絡接口}.accept_redirects

net.ipv6.conf.{網絡接口}.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv6.conf.{網絡接口}.autoconf

net.ipv6.conf.{網絡接口}.dad_transmits

net.ipv6.conf.{網絡接口}.disable_ipv6

net.ipv6.conf.{網絡接口}.force_mld_version

net.ipv6.conf.{網絡接口}.force_tllao

net.ipv6.conf.{網絡接口}.forwarding

net.ipv6.conf.{網絡接口}.hop_limit

net.ipv6.conf.{網絡接口}.max_addresses

net.ipv6.conf.{網絡接口}.max_desync_factor

net.ipv6.conf.{網絡接口}.mc_forwarding

net.ipv6.conf.{網絡接口}.mldv1_unsolicited_report_interval

net.ipv6.conf.{網絡接口}.mldv2_unsolicited_report_interval

net.ipv6.conf.{網絡接口}.mtu

net.ipv6.conf.{網絡接口}.ndisc_notify

net.ipv6.conf.{網絡接口}.optimistic_dad

net.ipv6.conf.{網絡接口}.proxy_ndp

net.ipv6.conf.{網絡接口}.regen_max_retry

net.ipv6.conf.{網絡接口}.router_probe_interval

net.ipv6.conf.{網絡接口}.router_solicitation_delay

net.ipv6.conf.{網絡接口}.router_solicitation_interval

net.ipv6.conf.{網絡接口}.router_solicitations

net.ipv6.conf.{網絡接口}.temp_prefered_lft

net.ipv6.conf.{網絡接口}.temp_valid_lft

net.ipv6.conf.{網絡接口}.use_tempaddr

net.ipv6.conf.default.accept_dad

net.ipv6.conf.default.accept_ra

net.ipv6.conf.default.accept_ra_defrtr

net.ipv6.conf.default.accept_ra_pinfo

net.ipv6.conf.default.accept_ra_rt_info_max_plen

net.ipv6.conf.default.accept_ra_rtr_pref

net.ipv6.conf.default.accept_redirects

net.ipv6.conf.default.accept_source_route 接收帶有SRR選項的數據報。主機設爲0,路由設爲1

net.ipv6.conf.default.autoconf

net.ipv6.conf.default.dad_transmits

net.ipv6.conf.default.disable_ipv6

net.ipv6.conf.default.force_mld_version

net.ipv6.conf.default.force_tllao

net.ipv6.conf.default.forwarding

net.ipv6.conf.default.hop_limit

net.ipv6.conf.default.max_addresses

net.ipv6.conf.default.max_desync_factor

net.ipv6.conf.default.mc_forwarding

net.ipv6.conf.default.mldv1_unsolicited_report_interval

net.ipv6.conf.default.mldv2_unsolicited_report_interval

net.ipv6.conf.default.mtu

net.ipv6.conf.default.ndisc_notify

net.ipv6.conf.default.optimistic_dad

net.ipv6.conf.default.proxy_ndp

net.ipv6.conf.default.regen_max_retry

net.ipv6.conf.default.router_probe_interval

net.ipv6.conf.default.router_solicitation_delay

net.ipv6.conf.default.router_solicitation_interval

net.ipv6.conf.default.router_solicitations

net.ipv6.conf.default.temp_prefered_lft

net.ipv6.conf.default.temp_valid_lft

net.ipv6.conf.default.use_tempaddr

net.ipv6.icmp.ratelimit

net.ipv6.ip6frag_high_thresh

net.ipv6.ip6frag_low_thresh

net.ipv6.ip6frag_secret_interval

net.ipv6.ip6frag_time

net.ipv6.mld_max_msf

net.ipv6.mld_qrv

net.ipv6.neigh.{網絡接口}.anycast_delay

net.ipv6.neigh.{網絡接口}.app_solicit

net.ipv6.neigh.{網絡接口}.base_reachable_time

net.ipv6.neigh.{網絡接口}.base_reachable_time_ms

net.ipv6.neigh.{網絡接口}.delay_first_probe_time

net.ipv6.neigh.{網絡接口}.gc_stale_time

net.ipv6.neigh.{網絡接口}.locktime

net.ipv6.neigh.{網絡接口}.mcast_solicit

net.ipv6.neigh.{網絡接口}.proxy_delay

net.ipv6.neigh.{網絡接口}.proxy_qlen

net.ipv6.neigh.{網絡接口}.retrans_time

net.ipv6.neigh.{網絡接口}.retrans_time_ms

net.ipv6.neigh.{網絡接口}.ucast_solicit

net.ipv6.neigh.{網絡接口}.unres_qlen

net.ipv6.neigh.{網絡接口}.unres_qlen_bytes

net.ipv6.route.flush

net.ipv6.route.gc_elasticity

net.ipv6.route.gc_interval

net.ipv6.route.gc_min_interval

net.ipv6.route.gc_min_interval_ms

net.ipv6.route.gc_thresh

net.ipv6.route.gc_timeout

net.ipv6.route.max_size

net.ipv6.route.min_adv_mss

net.ipv6.route.mtu_expires

net.ipv6.xfrm6_gc_thresh

net.netfilter.nf_conntrack_acct

net.netfilter.nf_conntrack_buckets 只讀,描述當前系統的ip_conntrack的hash table大小.

net.netfilter.nf_conntrack_checksum 驗證協議是否錯誤是,是否對協議進行校驗和驗證

0:關閉

1:開啓

net.netfilter.nf_conntrack_count 內存中ip_conntrack結構的數量.

net.netfilter.nf_conntrack_events

net.netfilter.nf_conntrack_events_retry_timeout

net.netfilter.nf_conntrack_expect_max

net.netfilter.nf_conntrack_generic_timeout 通用或未知協議的conntrack被設置的超時時間(每次看到包都會用這值重新更新定時器),一旦時間到conntrack將被回收.(秒)

net.netfilter.nf_conntrack_helper

net.netfilter.nf_conntrack_icmp_timeout icmp協議的conntrack被設置的超時時間,一旦到時conntrack將被回收.(秒)

net.netfilter.nf_conntrack_log_invalid 調試時使用,可以指定一個數字,這個數字是內核定義的協議號比如IPPROTO_TCP是6,當指定協議解析時發現一些錯誤包會打印相關的錯誤信息到dmesg中.

最小值0,最大值255,默認不打印.

net.netfilter.nf_conntrack_max 內存中最多ip_conntrack結構的數量.

net.netfilter.nf_conntrack_tcp_be_liberal 當開啓只有不在tcp窗口內的rst包被標誌爲無效,當關閉(默認)所有不在tcp窗口中的包都被標誌爲無效.

0:關閉

1:開啓

net.netfilter.nf_conntrack_tcp_loose 當想追蹤一條已經連接的tcp會話, 在系統可以假設sync和window追逐已經開始後要求每個方向必須通過的包的數量.

如果爲0,從不追蹤一條已經連接的tcp會話.

net.netfilter.nf_conntrack_tcp_max_retrans 沒有從目的端接收到一個ack而進行包重傳的次數,一旦達到這限制nf_conntrack_tcp_timeout_max_retrans將作爲ip_conntrack的超時限制.

net.netfilter.nf_conntrack_tcp_timeout_close TCP處於close狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_close_wait TCP處於close wait狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_established TCP處於established狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_fin_wait TCP處於fin wait狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_last_ack TCP處於last ack狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_max_retrans TCP處於max retrans狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_syn_recv TCP處於syn recv狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_syn_sent TCP處於syn sent狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_time_wait TCP處於time wait狀態超時時間(秒)

net.netfilter.nf_conntrack_tcp_timeout_unacknowledged TCP處於unacknowledged狀態超時時間(秒)

net.netfilter.nf_conntrack_timestamp

net.netfilter.nf_conntrack_udp_timeout udp協議的conntrack被設置的超時時間(每次看到包都會用這值重新更新定時器),一旦到時conntrack將被回收.(秒)

net.netfilter.nf_conntrack_udp_timeout_stream 當看到一些特殊的udp傳輸時(傳輸在雙向)設置的ip_conntrack超時時間(每次看到包都會用這值重新更新定時器).(秒)

net.netfilter.nf_log.0

net.netfilter.nf_log.1

net.netfilter.nf_log.10

net.netfilter.nf_log.11

net.netfilter.nf_log.12

net.netfilter.nf_log.2

net.netfilter.nf_log.3

net.netfilter.nf_log.4

net.netfilter.nf_log.5

net.netfilter.nf_log.6

net.netfilter.nf_log.7

net.netfilter.nf_log.8

net.netfilter.nf_log.9

net.nf_conntrack_max 內存中最多ip_conntrack結構的數量.

net.unix.max_dgram_qlen 允許域套接字中數據包的最大個數,在初始化unix域套接字時的默認值.

在調用listen函數時第二個參數會覆蓋這個值.

 

文件系統參數列表 


fs.aio-max-nr 最大允許aio請求數量(會涉及到數據庫的aio請求)

fs.aio-nr 當前aio請求數量

fs.binfmt_misc.qemu-alpha binfmt_misc用於支持當前芯片架構的系統是否支持通過qemu進行chroot到其他架構的根文件系統中進行操作。

fs.binfmt_misc.qemu-arm

fs.binfmt_misc.qemu-armeb

fs.binfmt_misc.qemu-cris

fs.binfmt_misc.qemu-i386

fs.binfmt_misc.qemu-i486

fs.binfmt_misc.qemu-m68k

fs.binfmt_misc.qemu-microblaze

fs.binfmt_misc.qemu-microblazeel

fs.binfmt_misc.qemu-mips

fs.binfmt_misc.qemu-mips64

fs.binfmt_misc.qemu-mips64el

fs.binfmt_misc.qemu-mipsel

fs.binfmt_misc.qemu-s390x

fs.binfmt_misc.qemu-sh4

fs.binfmt_misc.qemu-sh4eb

fs.binfmt_misc.qemu-sparc

fs.binfmt_misc.qemu-sparc32plus

fs.binfmt_misc.qemu-sparc64

fs.binfmt_misc.register

用於註冊或修改以上的binfmt_misc,輸入格式是 :name:type:offset:magic:mask:interpreter:flags

例:echo ':i386:M::\\x7fELF\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x03:

\\xff\\xff\\xff\\xff\\xff\\xfe\\xfe\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xfb\\xff\\xff:/bin/em86:' > register

fs.binfmt_misc.status 設置binfmt_misc開啓

0:禁止

1:開啓

fs.dentry-state 保存目錄緩存的狀態,保存有六個值,只有前三個有效

nr_dentry:當前已經分配的目錄項數量

nr_unused:還沒有使用的目錄項數量

age_limit:當內存緊缺時,延遲多少秒後會回收目錄項所佔內存

fs.dir-notify-enable 設置是否啓用dnotify,已被inotify取代,因爲dnotify 需要您爲每個打算監控是否發生改變的目錄打開一個文件描述符。當同時監控多個目錄時,這會消耗大量的資源,因爲有可能達到每個進程的文件描述符限制。並且不允許卸載(unmount)支持的設備

0:不使用

1:使用

fs.epoll.max_user_watches IO複用epoll監聽文件句柄的數量最大值

fs.file-max 系統中所有進程能夠同時打開的文件句柄數量

fs.file-nr 此文件中保存了三個值,分別是:系統中已分配的文件句柄數量    已分配但沒有使用的文件句柄數量    最大的文件句柄號

fs.inode-nr 此文件保存了兩個值,是:已分配inode數    空閒inode數

fs.inode-state 此文件保存了三個值,前兩個分別表示 已分配inode數和空閒inode數。第三個是已超出系統最大inode值的數量,此時系統需要清除排查inode列表

fs.inotify.max_queued_events inotify用於監控文件系統事件

該文件中的值爲調用inotify_init函數時分配給inotify隊列的事件數目的最大值,超出這個值得事件被丟棄,但會觸發IN_Q_OVERFLOW事件

文件系統變化越頻繁,這個值就應該越大 

fs.inotify.max_user_instances 設置每個用戶可以運行的inotifywait或inotifywatch命令的進程數。

fs.inotify.max_user_watches 設置inotifywait或inotifywatch命令可以監視的文件數量(單進程)。

fs.lease-break-time 當進程嘗試打開一個被租借鎖保護的文件時,該進程會被阻塞,同時,在一定時間內擁有該文件租借鎖的進程會收到一個信號。收到信號之後,擁有該文件租借鎖的進程會首先更新文件,從而保證了文件內容的一致性,接着,該進程釋放這個租借鎖。如果擁有租借鎖的進程在一定的時間間隔內沒有完成工作,內核就會自動刪除這個租借鎖或者將該鎖進行降級,從而允許被阻塞的進程繼續工作。

此保存租借鎖的超時時間(以秒爲單位)

fs.leases-enable 是否啓用文件的租借鎖

1:啓用

0:不啓用

fs.mqueue.msg_default POSIX的消息隊列

此文件保存一個消息隊列中消息數量的默認值,如果此值超過msg_max,則會被設置爲msg_max

fs.mqueue.msg_max 一個消息隊列的最大消息數

fs.mqueue.msgsize_default 消息隊列中一個消息的默認大小(以字節爲單位)

fs.mqueue.msgsize_max 消息隊列中一個消息的最大大小(以字節爲單位)

fs.mqueue.queues_max 系統中允許的消息隊列的最大數量

fs.nfs.idmap_cache_timeout 設置idmapper緩存項的最大壽命,單位是秒

fs.nfs.nfs_callback_tcpport 設置NFSv4回覆通道(callback channel)監聽的TCP端口

fs.nfs.nfs_congestion_kb

fs.nfs.nfs_mountpoint_timeout

fs.nfs.nlm_grace_period 參數設置服務器重新引導後客戶機回收NFSv3鎖和NFSv4鎖所需的秒數。因此,grace_period的值可控制NFSv3和NFSv4的鎖定恢復的寬延期長度。

fs.nfs.nlm_tcpport 爲NFS鎖管理器指定TCP端口

fs.nfs.nlm_timeout 爲NFS鎖管理器指定默認超時時間,單位是秒。默認值是10秒。取值範圍在[3-20]

fs.nfs.nlm_udpport 爲NFS鎖管理器指定UDP端口

fs.nfs.nsm_local_state

fs.nfs.nsm_use_hostnames

fs.nr_open 一個進程最多同時打開的文件句柄數量

fs.overflowgid Linux的GID爲32位,但有些文件系統只支持16位的GID,此時若進行寫操作會出錯;當GID超過65535時會自動被轉換爲一個固定值,這個固定值保存在這個文件中

fs.overflowuid Linux的UID爲32位,但有些文件系統只支持16位的UID,此時若進行寫操作會出錯;當UID超過65535時會自動被轉換爲一個固定值,這個固定值保存在這個文件中

fs.pipe-max-size 此文件限制非特權程序使用pipe時的緩存最大大小(以字節爲單位,最小設置爲4096)

fs.protected_hardlinks 用於限制普通用戶建立硬鏈接

0:不限制用戶建立硬鏈接

1:限制,如果文件不屬於用戶,或者用戶對此用戶沒有讀寫權限,則不能建立硬鏈接

fs.protected_symlinks 用於限制普通用戶建立軟鏈接

0:不限制用戶建立軟鏈接

1:限制,允許用戶建立軟連接的情況是 軟連接所在目錄是全局可讀寫目錄或者軟連接的uid與跟從者的uid匹配,又或者目錄所有者與軟連接所有者匹配

fs.quota.allocated_dquots

fs.quota.cache_hits

fs.quota.drops

fs.quota.free_dquots

fs.quota.lookups

fs.quota.reads

fs.quota.syncs

fs.quota.warnings

fs.quota.writes

fs.suid_dumpable

fscache.object_max_active

fscache.operation_max_active


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