• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            什么是proc文件系統(tǒng)?

              

              proc文件系統(tǒng)是一個偽文件系統(tǒng),它只存在內存當中,而不占用外存空間。它以文件系統(tǒng)的方式為訪問系統(tǒng)內核數(shù)據的操作提供接口。用戶和應用程序可以通過proc得到系統(tǒng)的信息,并可以改變內核的某些參數(shù)。由于系統(tǒng)的信息,如進程,是動態(tài)改變的,所以用戶或應用程序讀取proc文件時,proc文件系統(tǒng)是動態(tài)從系統(tǒng)內核讀出所需信息并提交的。它的目錄結構如下:

              

              目錄名稱 目錄內容

              apm 高級電源管理信息

              cmdline 內核命令行

              Cpuinfo 關于Cpu信息

              Devices 可以用到的設備(塊設備/字符設備)

              Dma 使用的DMA通道

              Filesystems 支持的文件系統(tǒng)

              Interrupts 中斷的使用

              Ioports I/O端口的使用

              Kcore 內核核心印象

              Kmsg 內核消息

              Ksyms 內核符號表

              Loadavg 負載均衡

              Locks 內核鎖

              Meminfo 內存信息

              Misc 雜項

              Modules 加載模塊列表

              Mounts 加載的文件系統(tǒng)

              Partitions 系統(tǒng)識別的分區(qū)表

              Rtc 實時時鐘

              Slabinfo Slab池信息

              Stat 全面統(tǒng)計狀態(tài)表

              Swaps 對換空間的利用情況

              Version 內核版本

              Uptime 系統(tǒng)正常運行時間

              

              并不是所有這些目錄在你的系統(tǒng)中都有,這取決于你的內核配置和裝載的模塊。另外,在/proc下還有三個很重要的目錄:net,scsi和sys。 Sys目錄是可寫的,可以通過它來訪問或修改內核的參數(shù)(見下一部分),而net和scsi則依賴于內核配置。例如,如果系統(tǒng)不支持scsi,則scsi 目錄不存在。

              

              除了以上介紹的這些,還有的是一些以數(shù)字命名的目錄,它們是進程目錄。系統(tǒng)中當前運行的每一個進程都有對應的一個目錄在/proc下,以進程的 PID號為目錄名,它們是讀取進程信息的接口。而self目錄則是讀取進程本身的信息接口,是一個link。Proc文件系統(tǒng)的名字就是由之而起。進程目錄的結構如下:

              

              目錄名稱 目錄內容

              Cmdline 命令行參數(shù)

              Environ 環(huán)境變量值

              Fd 一個包含所有文件描述符的目錄

              Mem 進程的內存被利用情況

              Stat 進程狀態(tài)

              Status 進程當前狀態(tài),以可讀的方式顯示出來

              Cwd 當前工作目錄的鏈接

              Exe 指向該進程的執(zhí)行命令文件

              Maps 內存映象

              Statm 進程內存狀態(tài)信息

              Root 鏈接此進程的root目錄

              

              用戶如果要查看系統(tǒng)信息,可以用cat命令。例如:

              

              # cat /proc/interrupts

              CPU0

              0: 8728810 XT-PIC timer

              1: 895 XT-PIC keyboard

              2: 0 XT-PIC cascade

              3: 531695 XT-PIC aha152x

              4: 2014133 XT-PIC serial

              5: 44401 XT-PIC pcnet_cs

              8: 2 XT-PIC rtc

              11: 8 XT-PIC i82365

              12: 182918 XT-PIC Mouse

              13: 1 XT-PIC fpu PS/2

              14: 1232265 XT-PIC ide0

              15: 7 XT-PIC ide1

              NMI: 0

              

              用戶還可以實現(xiàn)修改內核參數(shù)。在/proc文件系統(tǒng)中有一個有趣的目錄:/proc/sys。它不僅提供了內核信息,而且可以通過它修改內核參數(shù),來優(yōu)化你的系統(tǒng)。但是你必須很小心,因為可能會造成系統(tǒng)崩潰。最好是先找一臺無關緊要的機子,調試成功后再應用到你的系統(tǒng)上。

              

              要改變內核的參數(shù),只要用vi編輯或echo參數(shù)重定向到文件中即可。下面有一個例子:

              

              # cat /proc/sys/fs/file-max

              4096

              # echo 8192 > /proc/sys/fs/file-max

              # cat /proc/sys/fs/file-max

              8192

              

              如果你優(yōu)化了參數(shù),則可以把它們寫成添加到文件rc.local中,使它在系統(tǒng)啟動時自動完成修改。

              

              /proc文件系統(tǒng)中網絡參數(shù)

              

              在/proc/sys/net/ipv4/目錄下,包含的是和tcp/ip協(xié)議相關的各種參數(shù),下面我們就對這些網絡參數(shù)加以詳細的說明。

              

              ip_forward 參數(shù)類型:BOOLEAN

              0 - 關閉(默認值)

              not 0 - 打開ip轉發(fā)

              

              在網絡本地接口之間轉發(fā)數(shù)據報。該參數(shù)非常特殊,對該參數(shù)的修改將導致其它所有相關配置參數(shù)恢復其默認值(對于主機參閱RFC1122,對于路由器參見RFC1812)

              

              ip_default_ttl 參數(shù)類型:INTEGER

              默認值為 64 。表示IP數(shù)據報的Time To Live值。

              

              ip_no_pmtu_disc 參數(shù)類型:BOOLEAN

              關閉路徑MTU探測,默認值為FALSE

              

              ipfrag_high_thresh 參數(shù)類型:整型

              用來組裝分段的IP包的最大內存量。當ipfrag_high_thresh數(shù)量的內存被分配來用來組裝IP包,則IP分片處理器將丟棄數(shù)據報直到ipfrag_low_thresh數(shù)量的內存被用來組裝IP包。

              

              ipfrag_low_thresh 參數(shù)類型:整型

              參見ipfrag_high_thresh。

              

              ipfrag_time 參數(shù)類型:整型

              保存一個IP分片在內存中的時間。

              

              inet_peer_threshold 參數(shù)類型:整型

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

              

              inet_peer_minttl 參數(shù)類型:整型

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

              

              inet_peer_maxttl 參數(shù)類型:整型

              條目的最大存活期。在此期限到達之后 如果緩沖池沒有耗盡壓力的話(例如 緩沖池中的條目數(shù)目非常少) 不使用的條目將會超時。該值以 jiffies為單位測量。

              

              inet_peer_gc_mintime 參數(shù)類型:整型

              廢物收集(GC)通過的最短間隔。這個間隔會影響到緩沖池中內存的高壓力。 該值以 jiffies為單位測量。

              

              inet_peer_gc_maxtime 參數(shù)類型:整型

              廢物收集(GC)通過的最大間隔,這個間隔會影響到緩沖池中內存的低壓力。 該值以 jiffies為單位測量。

              

              tcp_syn_retries 參數(shù)類型:整型

              對于一個新建連接,內核要發(fā)送多少個 SYN 連接請求才決定放棄。不應該大于255,默認值是5,對應于180秒左右。

              

              tcp_synack_retries 參數(shù)類型:整型

              對于遠端的連接請求SYN,內核會發(fā)送SYN + ACK數(shù)據報,以確認收到上一個 SYN連接請求包。這是所謂的三次握手( threeway handshake)機制的第二個步驟。這里決定內核在放棄連接之前所送出的 SYN+ACK 數(shù)目。

              

              tcp_keepalive_time 參數(shù)類型:整型

              當keepalive打開的情況下,TCP發(fā)送keepalive消息的頻率,默認值是2個小時。

              

              tcp_keepalive_probes 參數(shù)類型:整型

              TCP發(fā)送keepalive探測以確定該連接已經斷開的次數(shù),默認值是9。

              

              tcp_keepalive_interval 參數(shù)類型:整型

              探測消息發(fā)送的頻率,乘以tcp_keepalive_probes就得到對于從開始探測以來沒有響應的連接殺除的時間。默認值為75秒,也就是沒有活動的連接將在大約11分鐘以后將被丟棄。

              

              tcp_retries1 參數(shù)類型:整型

              當出現(xiàn)可疑情況而必須向網絡層報告這個可疑狀況之前 需要進行多少次重試。最低的 RFC 數(shù)值是 3 這也是默認值 根據RTO的值大約在3秒 - 8分鐘之間。

              

              tcp_retries2 參數(shù)類型:整型

              在丟棄激活的TCP連接之前 需要進行多少次重試。RFC1122規(guī)定,該值必須大于100秒。默認值為15,根據RTO的值來決定,相當于13-30分鐘,

              

              tcp_orphan_retries 參數(shù)類型:整型

              在近端丟棄TCP連接之前 要進行多少次重試。默認值是 7 個 相當于 50秒 - 16分鐘 視 RTO 而定。如果您的系統(tǒng)是負載很大的web服務器 那么也許需要降低該值 這類 sockets 可能會耗費大量的資源。另外參的考 tcp_max_orphans 。

              

              tcp_fin_timeout 參數(shù)類型:整型

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

              

              tcp_max_tw_buckets 參數(shù)類型:整型

              系統(tǒng)在同時所處理的最大timewait sockets 數(shù)目。如果超過此數(shù)的話 time-wait socket 會被立即砍除并且顯示警告信息。之所以要設定這個限制 純粹為了抵御那些簡單的 DoS 攻擊 千萬不要人為的降低這個限制 不過 如果網絡條件需要比默認值更多 則可以提高它(或許還要增加內存)。

              

              tcp_tw_recycle 參數(shù)類型:布爾

              打開快速 TIME-WAIT sockets 回收。默認值是1。除非得到技術專家的建議或要求 請不要隨意修改這個值。

              

              tcp_max_orphans 參數(shù)類型:整型

              系統(tǒng)所能處理不屬于任何進程的TCP sockets最大數(shù)量。假如超過這個數(shù)量 那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設定這個限制 純粹為了抵御那些簡單的 DoS 攻擊 千萬不要依賴這個或是人為的降低這個限制

              

              tcp_abort_on_overflow 參數(shù)類型:布爾

              當守護進程太忙而不能接受新的連接,就象對方發(fā)送reset消息,默認值是false。這意味著當溢出的原因是因為一個偶然的猝發(fā),那么連接將恢復狀態(tài)。只有在你確信守護進程真的不能完成連接請求時才打開該選項,該選項會影響客戶的使用。

              

              tcp_syncookies 參數(shù)類型:整型

              只有在內核編譯時選擇了CONFIG_SYNCOOKIES時才會發(fā)生作用。當出現(xiàn)syn等候隊列出現(xiàn)溢出時象對方發(fā)送syncookies。目的是為了防止syn flood攻擊。默認值是false。

              

              注意:該選項千萬不能用于那些沒有收到攻擊的高負載服務器,如果在日志中出現(xiàn)synflood消息,但是調查發(fā)現(xiàn)沒有收到synflood攻 擊,而是合法用戶的連接負載過高的原因,你應該調整其它參數(shù)來提高服務器性能。參考: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.

              

              syncookie嚴重的違背TCP協(xié)議,不允許使用TCP擴展,可能對某些服務導致嚴重的性能影響(如SMTP轉發(fā))。

              

              tcp_stdurg 參數(shù)類型:整型

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

              

              tcp_max_syn_backlog 參數(shù)類型:整型

              對于那些依然還未獲得客戶端確認的連接請求 需要保存在隊列中最大數(shù)目。對于超過 128Mb 內存的系統(tǒng) 默認值是 1024 低于 128Mb 的則為 128。如果服務器經常出現(xiàn)過載 可以嘗試增加這個數(shù)字。警告 假如您將此值設為大于 1024 最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE 以保持 TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog 并且編進核心之內。

              

              tcp_window_scaling 參數(shù)類型:布爾

              正常來說,TCP/IP 可以接受最大到65535字節(jié)的 windows。對于寬帶網絡,該值可能是不夠的,通過調整該參數(shù)有助于提高寬帶服務器性能。

              

              tcp_timestamps 參數(shù)類型:布爾

              Timestamps 用在其它一些東西中 可以防范那些偽造的 sequence 號碼。一條1G的寬帶線路或許會重遇到帶 out-of-line數(shù)值的舊sequence 號碼(假如它是由于上次產生的)。Timestamp 會讓它知道這是個 '舊封包'。

              

              tcp_sack 參數(shù)類型:布爾

              使用 Selective ACK 它可以用來查找特定的遺失的數(shù)據報--- 因此有助于快速恢復狀態(tài)。

              

              tcp_fack 參數(shù)類型:布爾

              打開FACK擁塞避免和快速重傳功能。

              

              tcp_dsack 參數(shù)類型:布爾

              允許TCP發(fā)送"兩個完全相同"的SACK。

              

              tcp_ecn 參數(shù)類型:布爾

              打開TCP的直接擁塞通告功能。

              

              tcp_reordering 參數(shù)類型:整型

              TCP流中重排序的數(shù)據報最大數(shù)量默認值是 3 。

              

              tcp_retrans_collapse 參數(shù)類型:布爾

              對于某些有bug的打印機提供針對其bug的兼容性。

              

              tcp_wmem - 三個整數(shù)的向量: min, default, max

              min:為TCP socket預留用于發(fā)送緩沖的內存最小值。每個tcp socket都可以在建議以后都可以使用它。默認值為4K。

              

              default:為TCP socket預留用于發(fā)送緩沖的內存數(shù)量,默認情況下該值會影響其它協(xié)議使用的net.core.wmem_default 值,一般要低于net.core.wmem_default的值。默認值為16K。

              

              max: 用于TCP socket發(fā)送緩沖的內存最大值。該值不會影響net.core.wmem_max,今天選擇參數(shù)SO_SNDBUF則不受該值影響。默認值為128K。

              

              tcp_rmem - 三個整數(shù)的向量: min, default, max

              min:為TCP socket預留用于接收緩沖的內存數(shù)量,即使在內存出現(xiàn)緊張情況下tcp socket都至少會有這么多數(shù)量的內存用于接收緩沖,默認值為8K。

              

              default:為TCP socket預留用于接收緩沖的內存數(shù)量,默認情況下該值影響其它協(xié)議使用的 net.core.wmem_default 值。該值決定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win:0是默認值情況下,tcp 窗口大小為65535。

              

              max:用于TCP socket接收緩沖的內存最大值。該值不會影響 net.core.wmem_max,今天選擇參數(shù) SO_SNDBUF則不受該值影響。默認值為 128K。默認值為87380*2 bytes。

              

              tcp_mem - 三個整數(shù)的向量: low, pressure, high

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

              

              pressure:當TCP使用了超過該值的內存頁面數(shù)量時,TCP試圖穩(wěn)定其內存使用,進入pressure模式,當內存消耗低于low值時則退出pressure狀態(tài)。

              

              high:允許所有tcp sockets用于排隊緩沖數(shù)據報的頁面量。

              

              一般情況下這些值是在系統(tǒng)啟動時根據系統(tǒng)內存數(shù)量計算得到的。

              

              tcp_app_win - 整數(shù)

              

              保留max(window/2^tcp_app_win, mss)數(shù)量的窗口由于應用緩沖。當為0時表示不需要緩沖。默認值是31。

              

              tcp_adv_win_scale - 整數(shù)

              計算緩沖開銷bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale > 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale <= 0),默認值為2。

              

              ip_local_port_range - 兩個整數(shù)

              定于TCP和UDP使用的本地端口范圍,第一個數(shù)是開始,第二個數(shù)是最后端口號,默認值依賴于系統(tǒng)中可用的內存數(shù):

              > 128Mb 32768-61000

              < 128Mb 1024-4999 or even less.

              該值決定了活動連接的數(shù)量,也就是系統(tǒng)可以并發(fā)的連接數(shù)

              

              icmp_echo_ignore_all - 布爾類型

              icmp_echo_ignore_broadcasts - 布爾類型

              如果任何一個設置為true(>0)則系統(tǒng)將忽略所有發(fā)送給自己的ICMP ECHO請求或那些廣播地址的請求。

              

              icmp_destunreach_rate - 整數(shù)

              icmp_paramprob_rate - 整數(shù)

              icmp_timeexceed_rate - 整數(shù)

              icmp_echoreply_rate - 整數(shù)(not enabled per default)

              限制發(fā)向特定目標的ICMP數(shù)據報的最大速率。0表示沒有任何限制,否則表示jiffies數(shù)據單位中允許發(fā)送的個數(shù)。

              

              icmp_ignore_bogus_error_responses - 布爾類型

              某些路由器違背RFC1122標準,其對廣播幀發(fā)送偽造的響應來應答。這種違背行為通常會被以告警的方式記錄在系統(tǒng)日志中。如果該選項設置為True,內核不會記錄這種警告信息。默認值為False。

              

              (1) Jiffie: 內核使用的內部時間單位,在i386系統(tǒng)上大小為1/100s,在Alpha中為1/1024S。在/usr/include/asm/param.h中的HZ定義有特定系統(tǒng)的值。

              

              conf/interface/*:

              conf/all/*是特定的,用來修改所有接口的設置,is special and changes the settings for all interfaces.

              Change special settings per interface.

              

              log_martians - 布爾類型

              記錄帶有不允許的地址的數(shù)據報到內核日志中。

              

              accept_redirects - 布爾類型

              收發(fā)接收ICMP重定向消息。對于主機來說默認為True,對于用作路由器時默認值為False。

              

              forwarding - 布爾類型

              在該接口打開轉發(fā)功能

              

              mc_forwarding - 布爾類型

              是否進行多播路由。只有內核編譯有CONFIG_MROUTE并且有路由服務程序在運行該參數(shù)才有效。

              

              proxy_arp - 布爾類型

              打開proxy arp功能。

              

              shared_media - 布爾類型

              發(fā)送(路由器)或接收(主機) RFC1620 共享媒體重定向。覆蓋ip_secure_redirects的值。默認為True。

              

              secure_redirects - 布爾類型

              僅僅接收發(fā)給默認網關列表中網關的ICMP重定向消息,默認值是TRUE。

              

              send_redirects - 布爾類型

              如果是router,發(fā)送重定向消息,默認值是TRUE

              

              bootp_relay - 布爾類型

              接收源地址為0.b.c.d,目的地址不是本機的數(shù)據報。用來支持BOOTP轉發(fā)服務進程,該進程將捕獲并轉發(fā)該包。默認為False,目前還沒有實現(xiàn)。

              

              accept_source_route - 布爾類型

              接收帶有SRR選項的數(shù)據報。對于主機來說默認為False,對于用作路由器時默認值為True。

              

              rp_filter 參數(shù)類型

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

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

              默認值為0。某些發(fā)布在啟動時自動將其打開。

             from:http://blog.chinaunix.net/u2/76292/showart_1327412.html

            posted on 2009-12-11 23:17 chatler 閱讀(288) 評論(0)  編輯 收藏 引用 所屬分類: Linux_SysAdmin
            <2009年11月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲va久久久噜噜噜久久男同| 亚洲国产成人精品91久久久| 久久国产成人精品麻豆| 国产∨亚洲V天堂无码久久久| 99国产欧美久久久精品蜜芽 | 亚洲人成无码久久电影网站| 久久久免费观成人影院| 人人狠狠综合久久亚洲| 久久无码专区国产精品发布| 久久综合88熟人妻| 99久久精品无码一区二区毛片 | 久久美女网站免费| 亚洲午夜精品久久久久久app| 亚洲国产精品无码久久久秋霞2 | 久久国产一区二区| 国产精品乱码久久久久久软件| 国产午夜精品久久久久免费视| 久久人人超碰精品CAOPOREN | 久久亚洲视频| 99久久中文字幕| 国产美女亚洲精品久久久综合| 亚洲一本综合久久| 国产一区二区三区久久| 97精品依人久久久大香线蕉97| 久久久久国产一区二区| 91精品国产高清久久久久久国产嫩草| 国内精品伊人久久久久妇| 久久性精品| 久久久久国产精品嫩草影院| 一级做a爰片久久毛片人呢| 久久99精品久久久久久hb无码| 久久人人爽人人爽人人爽| 亚洲成av人片不卡无码久久| 三级片免费观看久久| 国产成人久久精品二区三区| 久久99国产精品一区二区| av无码久久久久不卡免费网站 | 91精品国产综合久久四虎久久无码一级| 亚洲午夜久久久影院| 亚洲国产精品成人久久| 久久久免费精品re6|