1. 程式人生 > >核心proc引數註釋(kernel、vm、net、fs四類)

核心proc引數註釋(kernel、vm、net、fs四類)

轉載自:https://www.cnblogs.com/tolimit/p/5065761.html

原作者很詳細的列出了proc的這類介面,方便大家查詢,中間有些還沒有補充完整,待遇到了再補充吧,感謝原作者!

由於核心版本不同,有的proc介面可能不在了。

主要列出了kernel、vm、net、fs四類的proc介面

核心引數列表(/proc/sys/kernel/)

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:不設定閥值

 

 

記憶體引數列表 (/sys/kernel/vm)

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回收記憶體

 

 

網路引數列表 (/proc/sys/net)

 

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 垃圾收集器收集相鄰層記錄和無用記錄的執行