linux proc 檔案系統下 entry 的解釋(轉)
linux proc 檔案系統下 entry 的解釋(轉)[@more@]proc檔案系統是一個偽檔案系統,它只存在記憶體當中,而不佔用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以透過 proc得到系統的資訊,並可以改變核心的某些引數。由於系統的資訊,如程式,是動態改變的,所以使用者或應用程式讀取proc檔案時,proc檔案系統是動態從系統核心讀出所需資訊並提交的。它的目錄結構如下:目錄名稱 目錄內容apm 高階電源管理資訊cmdline 核心命令列Cpuinfo 關於Cpu資訊Devices 可以用到的裝置(塊裝置/字元裝置)Dma 使用的DMA通道Filesystems 支援的檔案系統Interrupts 中斷的使用Ioports I/O埠的使用Kcore 核心核心印象Kmsg 核心訊息Ksyms 核心符號表Loadavg 負載均衡Locks 核心鎖Meminfo 記憶體資訊Misc 雜項Modules 載入模組列表Mounts 載入的檔案系統Partitions 系統識別的分割槽表Rtc 實時時鐘Slabinfo Slab池資訊Stat 全面統計狀態表Swaps 對換空間的利用情況Version 核心版本Uptime 系統正常執行時間並不是所有這些目錄在你的系統中都有,這取決於你的核心配置和裝載的模組。另外,在/proc下還有三個很重要的目錄:net,scsi和sys。Sys 目錄是可寫的,可以透過它來訪問或修改核心的引數(見下一部分),而net和scsi則依賴於核心配置。例如,如果系統不支援scsi,則scsi目錄不存在。除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程式目錄。系統中當前執行的每一個程式都有對應的一個目錄在/proc下,以程式的PID號為目錄名,它們是讀取程式資訊的介面。而self目錄則是讀取程式本身的資訊介面,是一個link。Proc檔案系統的名字就是由之而起。程式目錄的結構如下:目錄名稱 目錄內容Cmdline 命令列引數Environ 環境變數值Fd 一個包含所有檔案描述符的目錄Mem 程式的記憶體被利用情況Stat 程式狀態Status 程式當前狀態,以可讀的方式顯示出來Cwd 當前工作目錄的連結Exe 指向該程式的執行命令檔案Maps 記憶體映象Statm 程式記憶體狀態資訊Root 連結此程式的root目錄使用者如果要檢視系統資訊,可以用cat命令。例如:# cat /proc/interruptsCPU00: 8728810 XT-PIC timer1: 895 XT-PIC keyboard2: 0 XT-PIC cascade3: 531695 XT-PIC aha152x4: 2014133 XT-PIC serial5: 44401 XT-PIC pcnet_cs8: 2 XT-PIC rtc11: 8 XT-PIC i8236512: 182918 XT-PIC Mouse13: 1 XT-PIC fpu PS/214: 1232265 XT-PIC ide015: 7 XT-PIC ide1NMI: 0使用者還可以實現修改核心引數。在/proc檔案系統中有一個有趣的目錄:/proc/sys。它不僅提供了核心資訊,而且可以透過它修改核心引數,來最佳化你的系統。但是你必須很小心,因為可能會造成系統崩潰。最好是先找一臺無關緊要的機子,除錯成功後再應用到你的系統上。要改變核心的引數,只要用vi編輯或echo引數重定向到檔案中即可。下面有一個例子:# cat /proc/sys/fs/file-max4096# echo 8192 > /proc/sys/fs/file-max# cat /proc/sys/fs/file-max8192如果你最佳化了引數,則可以把它們寫成新增到檔案rc.local中,使它在系統啟動時自動完成修改。/proc檔案系統中網路引數在/proc/sys/net/ipv4/目錄下,包含的是和tcp/ip協議相關的各種引數,下面我們就對這些網路引數加以詳細的說明。ip_forward 引數型別:BOOLEAN0 - 關閉(預設值)not 0 - 開啟ip轉發在網路本地介面之間轉發資料包。該引數非常特殊,對該引數的修改將導致其它所有相關配置引數恢復其預設值(對於主機參閱RFC1122,對於路由器參見RFC1812)ip_default_ttl 引數型別:INTEGER預設值為 64 。表示IP資料包的Time To Live值。ip_no_pmtu_disc 引數型別:BOOLEAN關閉路徑MTU探測,預設值為FALSEipfrag_high_thresh 引數型別:整型用來組裝分段的IP包的最大記憶體量。當ipfrag_high_thresh數量的記憶體被分配來用來組裝IP包,則IP分片處理器將丟棄資料包直到ipfrag_low_thresh數量的記憶體被用來組裝IP包。ipfrag_low_thresh 引數型別:整型參見ipfrag_high_thresh。ipfrag_time 引數型別:整型儲存一個IP分片在記憶體中的時間。inet_peer_threshold 引數型別:整型INET對端儲存器某個合適值,當超過該閥值條目將被丟棄。該閥值同樣決定生存時間以及廢物收集透過的時間間隔。條目越多﹐存活期越低﹐GC 間隔越短inet_peer_minttl 引數型別:整型條目的最低存活期。在重組端必須要有足夠的碎片(fragment)存活期。這個最低存活期必須保證緩衝池容積是否少於 inet_peer_threshold。該值以 jiffies為單位測量。inet_peer_maxttl 引數型別:整型條目的最大存活期。在此期限到達之後﹐如果緩衝池沒有耗盡壓力的話(例如﹐緩衝池中的條目數目非常少)﹐不使用的條目將會超時。該值以 jiffies為單位測量。inet_peer_gc_mintime 引數型別:整型廢物收集(GC)透過的最短間隔。這個間隔會影響到緩衝池中記憶體的高壓力。 該值以 jiffies為單位測量。inet_peer_gc_maxtime 引數型別:整型廢物收集(GC)透過的最大間隔,這個間隔會影響到緩衝池中記憶體的低壓力。 該值以 jiffies為單位測量。tcp_syn_retries 引數型別:整型對於一個新建連線,核心要傳送多少個 SYN 連線請求才決定放棄。不應該大於255,預設值是5,對應於180秒左右。tcp_synack_retries 引數型別:整型對於遠端的連線請求SYN,核心會傳送SYN + ACK資料包,以確認收到上一個 SYN連線請求包。這是所謂的三次握手( threeway handshake)機制的第二個步驟。這裡決定核心在放棄連線之前所送出的 SYN+ACK 數目。tcp_keepalive_time 引數型別:整型當keepalive開啟的情況下,TCP傳送keepalive訊息的頻率,預設值是2個小時。tcp_keepalive_probes 引數型別:整型TCP傳送keepalive探測以確定該連線已經斷開的次數,預設值是9。tcp_keepalive_interval 引數型別:整型探測訊息傳送的頻率,乘以tcp_keepalive_probes就得到對於從開始探測以來沒有響應的連線殺除的時間。預設值為75秒,也就是沒有活動的連線將在大約11分鐘以後將被丟棄。tcp_retries1 引數型別:整型當出現可疑情況而必須向網路層報告這個可疑狀況之前﹐需要進行多少次重試。最低的 RFC 數值是 3 ﹐這也是預設值﹐根據RTO的值大約在3秒 - 8分鐘之間。tcp_retries2 引數型別:整型在丟棄啟用的TCP連線之前﹐需要進行多少次重試。RFC1122規定,該值必須大於100秒。預設值為15,根據RTO的值來決定,相當於13-30分鐘,tcp_orphan_retries 引數型別:整型在近端丟棄TCP連線之前﹐要進行多少次重試。預設值是 7 個﹐相當於 50秒 - 16分鐘﹐視 RTO 而定。如果您的系統是負載很大的web伺服器﹐那麼也許需要降低該值﹐這類 sockets 可能會耗費大量的資源。另外參的考 tcp_max_orphans 。tcp_fin_timeout 引數型別:整型對於本端斷開的socket連線,TCP保持在FIN-WAIT-2狀態的時間。對方可能會斷開連線或一直不結束連線或不可預料的程式死亡。預設值為 60 秒。過去在2.2版本的核心中是 180 秒。您可以設定該值﹐但需要注意﹐如果您的機器為負載很重的web伺服器﹐您可能要冒記憶體被大量無效資料包填滿的風險﹐FIN-WAIT-2 sockets 的危險性低於 FIN-WAIT-1 ﹐因為它們最多隻吃 1.5K 的記憶體﹐但是它們存在時間更長。另外參考 tcp_max_orphans。tcp_max_tw_buckets 引數型別:整型系統在同時所處理的最大timewait sockets 數目。如果超過此數的話﹐time-wait socket 會被立即砍除並且顯示警告資訊。之所以要設定這個限制﹐純粹為了抵禦那些簡單的 DoS 攻擊﹐千萬不要人為的降低這個限制﹐不過﹐如果網路條件需要比預設值更多﹐則可以提高它(或許還要增加記憶體)。tcp_tw_recycle 引數型別:布林開啟快速 TIME-WAIT sockets 回收。預設值是1。除非得到技術專家的建議或要求﹐請不要隨意修改這個值。tcp_max_orphans 引數型別:整型系統所能處理不屬於任何程式的TCP sockets最大數量。假如超過這個數量﹐那麼不屬於任何程式的連線會被立即reset,並同時顯示警告資訊。之所以要設定這個限制﹐純粹為了抵禦那些簡單的 DoS 攻擊﹐千萬不要依賴這個或是人為的降低這個限制tcp_abort_on_overflow 引數型別:布林當守護程式太忙而不能接受新的連線,就象對方傳送reset訊息,預設值是false。這意味著當溢位的原因是因為一個偶然的猝發,那麼連線將恢復狀態。只有在你確信守護程式真的不能完成連線請求時才開啟該選項,該選項會影響客戶的使用。tcp_syncookies 引數型別:整型只有在核心編譯時選擇了CONFIG_SYNCOOKIES時才會發生作用。當出現syn等候佇列出現溢位時象對方傳送syncookies。目的是為了防止syn flood攻擊。預設值是false。注意:該選項千萬不能用於那些沒有收到攻擊的高負載伺服器,如果在日誌中出現synflood訊息,但是調查發現沒有收到synflood攻擊,而是合法使用者的連線負載過高的原因,你應該調整其它引數來提高伺服器效能。參考: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.syncookie嚴重的違背TCP協議,不允許使用TCP擴充套件,可能對某些服務導致嚴重的效能影響(如SMTP轉發)。tcp_stdurg 引數型別:整型使用 TCP urg pointer 欄位中的主機請求解釋功能。大部份的主機都使用老舊的 BSD解釋,因此如果您在 Linux 開啟它﹐或會導致不能和它們正確溝通。預設值為為﹕FALSEtcp_max_syn_backlog 引數型別:整型對於那些依然還未獲得客戶端確認的連線請求﹐需要儲存在佇列中最大數目。對於超過 128Mb 記憶體的系統﹐預設值是 1024 ﹐低於 128Mb 的則為 128。如果伺服器經常出現過載﹐可以嘗試增加這個數字。警告﹗假如您將此值設為大於 1024﹐最好修改 include/net/tcp.h 裡面的 TCP_SYNQ_HSIZE ﹐以保持 TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale 128Mb 32768-610000)則系統將忽略所有傳送給自己的ICMP ECHO請求或那些廣播地址的請求。icmp_destunreach_rate - 整數icmp_paramprob_rate - 整數icmp_timeexceed_rate - 整數icmp_echoreply_rate - 整數(not enabled per default)限制發向特定目標的ICMP資料包的最大速率。0表示沒有任何限制,否則表示jiffies資料單位中允許傳送的個數。icmp_ignore_bogus_error_responses - 布林型別某些路由器違背RFC1122標準,其對廣播幀傳送偽造的響應來應答。這種違背行為通常會被以告警的方式記錄在系統日誌中。如果該選項設定為True,核心不會記錄這種警告資訊。預設值為False。(1) Jiffie: 核心使用的內部時間單位,在i386系統上大小為1/100s,在Alpha中為1/1024S。在/usr/include/asm/param.h中的HZ定義有特定系統的值。conf/interface/*:conf/all/*是特定的,用來修改所有介面的設定,is special and changes the settings for all interfaces.Change special settings per interface.log_martians - 布林型別記錄帶有不允許的地址的資料包到核心日誌中。accept_redirects - 布林型別收發接收ICMP重定向訊息。對於主機來說預設為True,對於用作路由器時預設值為False。forwarding - 布林型別在該介面開啟轉發功能mc_forwarding - 布林型別是否進行多播路由。只有核心編譯有CONFIG_MROUTE並且有路由服務程式在執行該引數才有效。proxy_arp - 布林型別開啟proxy arp功能。shared_media - 布林型別傳送(路由器)或接收(主機) RFC1620 共享媒體重定向。覆蓋ip_secure_redirects的值。預設為True。secure_redirects - 布林型別僅僅接收發給預設閘道器列表中閘道器的ICMP重定向訊息,預設值是TRUE。send_redirects - 布林型別如果是router,傳送重定向訊息,預設值是TRUEbootp_relay - 布林型別接收源地址為0.b.c.d,目的地址不是本機的資料包。用來支援BOOTP轉發服務程式,該程式將捕獲並轉發該包。預設為False,目前還沒有實現。accept_source_route - 布林型別接收帶有SRR選項的資料包。對於主機來說預設為False,對於用作路由器時預設值為True。rp_filter 引數型別1 - 透過反向路徑回溯進行源地址驗證(在RFC1812中定義)。對於單穴主機和stub網路路由器推薦使用該選項。0 - 不透過反向路徑回溯進行源地址驗證。預設值為0。某些釋出在啟動時自動將其開啟。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945121/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- <解說linux下proc檔案系統>Linux
- 理解 Proc 檔案系統(轉)
- 深入理解linux系統下proc檔案系統內容Linux
- Linux/proc檔案系統操作指南Linux
- 使用 /proc 檔案系統來控制系統(轉)
- Linux核心模組程式設計/proc 檔案系統(轉)Linux程式設計
- Linux /proc 目錄下檔案粗談(轉)Linux
- Linux中/proc目錄下檔案詳解Linux
- Linux系統下/proc/[pid] 目錄各檔案簡析Linux
- Linux教程-系統管理-/etc下的檔案詳解(轉)Linux
- 使用 /proc 檔案系統來控制系統 (zt)
- Linux 系統下解壓 rar 檔案Linux
- proc檔案系統相關內容
- 【AIX 學習】檔案系統之 PROCAI
- 關於Linux作業系統下檔案特殊許可權的解釋Linux作業系統
- Linux下加掛檔案系統的小結(轉)Linux
- Linux檔案系統 (轉)Linux
- 細說GNU/Linux系統的檔案及檔案系統(轉)Linux
- linux環境下使用XFS檔案系統(轉)Linux
- linux下燒錄任何檔案系統格式的光碟(轉)Linux
- Linux下檔案系統的比較和選擇(轉)Linux
- Oracle 重要檔案系統解釋Oracle
- linux /proc/cpuinfo檔案分析LinuxUI
- [轉帖]簡單解讀linux的/proc下的statm、maps、memmap 記憶體資訊檔案分析【轉】Linux記憶體
- Linux下的檔案系統結構Linux
- linux 下檔案系統的劃分Linux
- 淺談Linux的檔案系統(轉)Linux
- Linux中proc檔案系統是什麼意思?有什麼作用?Linux
- linux下/proc/meminfo解讀Linux
- proc_create_data函式建立/proc/目錄下的檔案函式
- Linux下其它格式檔案系統的自動掛裝(轉)Linux
- UNIX系統下各檔案的作用(轉)
- Linux檔案系統詳解Linux
- Linux 檔案系統詳解Linux
- 核心proc檔案系統與seq介面(3)---核心proc檔案底層結構淺析
- Linux下資料檔案刪除檔案系統空間不釋放的問題Linux
- Linux 檔案系統-ext3 檔案系統介紹(轉)Linux
- /proc虛擬檔案系統與系統核心引數修改方法