• <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>

            大龍的博客

            常用鏈接

            統(tǒng)計

            最新評論

            Proc令系統(tǒng)信息了如指掌

            Proc是一個虛擬文件系統(tǒng),在Linux系統(tǒng)中它被掛載于/proc目錄之上。

              Proc是一個虛擬文件系統(tǒng),在Linux系統(tǒng)中它被掛載于/proc目錄之上。Proc有多個功能 ,這其中包括用戶可以通過它訪問內(nèi)核信息或用于排錯,這其中一個非常有 用的功能,也是Linux變得更加特別的功能就是以文本流的形式來訪問進(jìn)程信息。很Linux命令(比如 ps、toPpstree等)都需要使用這個文件系統(tǒng)的信息。

              本文就是向用戶介紹一些訪問這些信息的方法 。需要說明的是,本文所述的內(nèi)容并不 一定適用所有內(nèi)核版本,有部分操作只適用于2.6內(nèi)核。

              一、進(jìn)程信息

              在/proc文件系統(tǒng)中,每一個進(jìn)程都有一個相應(yīng)的文件 。下面是/proc目錄下的一些重要文件 :

              /proc/pid/cmdline 包含了用于開始進(jìn)程的命令 ;

              /proc/pid/cwd包含了當(dāng)前進(jìn)程工作目錄的一個鏈接 ;

              /proc/pid/environ 包含了可用進(jìn)程環(huán)境變量的列表 ;

              /proc/pid/exe 包含了正在進(jìn)程中運(yùn)行的程序鏈接;

              /proc/pid/fd/ 這個目錄包含了進(jìn)程打開的每一個文件的鏈接;

              /proc/pid/mem 包含了進(jìn)程在內(nèi)存中的內(nèi)容;

              /proc/pid/stat包含了進(jìn)程的狀態(tài)信息;

              /proc/pid/statm 包含了進(jìn)程的內(nèi)存使用信息。

              下面是一些獲取進(jìn)程信息的例子:

              ◆ 假設(shè)現(xiàn)在要查看是否所有的進(jìn)程都會做存儲器清除工作。在/proc/pid/stat文件中的每一 個進(jìn)程標(biāo)識 (第8個屬性)提供了有關(guān)進(jìn)程的很多 “個人”信 息。這個信 息可以對每一個 進(jìn)程標(biāo)識進(jìn)行。

              0x00000002 Process being created

              0x00000004 Exiting

              0x00000008 Dead

              0x00000040 Process using

              superuser privflage

              0x00000200 P rocess dumping core

              0x00000400 Prooess received some signal

              0x00000800 Process allocating memory

              0x00001000 Killed due to out-of--memory condition

              筆者從/usr/src/linux/include/linux/sched.h 中提取了這些信息。

              ◆ /proc/pid/fd/ 目錄提供 了有關(guān)打開文件的信息。要查看被進(jìn)程使用的輸入文件,使用以下命令 :

              # ls –l /proc/pid/fd/0

              ◆ 查看被進(jìn)程使用socket,使用以下命令 :

              #ls –l /proc/pid/fd|sed –n `/socket/{s/.*\[//;s/\]//p}`

              有關(guān)這些socket的信息可以使用以下命令獲取 :

              # netstat --ae

              ◆ 要將命令行參數(shù)傳遞給任意進(jìn)程,使用以下命令 :

              ~~cat /proc/pid/cmdline

              ◆ 要 獲取某一進(jìn)程父進(jìn)程的ID號,使用以下命令:

              #grep PPid/proc/pid/status

              二、普通的系統(tǒng)信息

              Proc包含了很多系統(tǒng)信息,這其中包括CPU負(fù)載、文件系統(tǒng)和網(wǎng)絡(luò)配置 。下面是一些通過Proc查看和更改系統(tǒng)的例子:

              ◆ 獲取可用系統(tǒng)內(nèi)存的空間 :

              # grep Free /proc/meminfo

              ◆ 自從系統(tǒng)最后一次啟動后的系統(tǒng)統(tǒng)計可以從/proc/stat文件中獲取 :

              #grep processes /proc/stat

              ◆ 獲知第 1、5和15分鐘系統(tǒng)負(fù)載的平均值 :

              #awk `{print “1 min:\t” $1 “\n5 min:\t” $2 “\n15 min:\t” $3` /proc/loadavg

              ◆ /proc/partitions可用于獲取系統(tǒng)的分區(qū)信息 。

              ◆ /proc/net和/proc/sys/net可用于查看和更改重要的網(wǎng)絡(luò)信息。比如,禁用ping命令,可以以 root身份運(yùn)行以下命令 :

              #echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

              如果要啟用IP轉(zhuǎn)發(fā)/IP偽裝,使用以下命令 :

              #echo 1> /proc/sys/net/ipv4/ip_forward

              ◆ 已經(jīng)掛載的文件系統(tǒng)信息可以從/proc/mounts中檢索。

              ◆ 要改變正在使用的主機(jī)名 ,使用以下命令:

              # echo www.abc.corn >/proc/sys/kernel/hostname

              ◆ 要獲取CPU信息,使用以下命令 :

              # cat /proc/cpuinfo

              ◆ 要獲知swap空間的使用情況 ,使用以下命令:

              # cat /proc/swaps

              ◆ 獲取系統(tǒng)的正常運(yùn)行時間:

              #cat /proc/uptime

              ◆ 列出由NFS共享的文件系統(tǒng):

              # cat /proc/fs/nfsd/exports

              三、相關(guān)內(nèi)核的信息

              這是一個非常寬泛的主題,這里只介紹其中一小部分內(nèi)容:

              ◆ 從正在運(yùn)行的內(nèi)核中獲知內(nèi)核的版本:

              #cat /proc/version

              ◆ /proc/kmsg文件被作為內(nèi)核日志信息源,它可以被作為一個系統(tǒng)信息調(diào)用的接口使用。

              ◆ /proc/kcore文件提供了以內(nèi)核文件格式形式訪問系統(tǒng)物理內(nèi)存,并且可以被gdb用于檢查任意內(nèi)核數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)。如果裝了源碼,那么可以通 過查看/usr/src/linux/Documentation/filesystems/proc.txt文件來獲取更多的信息 。

              從中可以看出來,Proc是一個非常不錯的獲取系統(tǒng)信息渠道。如果利用得好,則它對Linux系統(tǒng)的維護(hù)和管理能提供非常大的幫助。

            posted on 2013-02-16 23:16 大龍 閱讀(255) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲精品乱码久久久久久蜜桃| 久久精品国产网红主播| 99久久无码一区人妻a黑| 久久久久亚洲av综合波多野结衣 | 精品久久久久久久久午夜福利| 亚洲七七久久精品中文国产| 久久嫩草影院免费看夜色| 九九久久精品无码专区| 久久久久久国产精品免费免费| 国产91久久综合| 久久综合久久鬼色| 久久人与动人物a级毛片| 亚洲乱码精品久久久久..| 中文字幕无码免费久久| 国产精品久久午夜夜伦鲁鲁| 久久精品国产免费| 欧美久久亚洲精品| 国内精品久久久久久久久电影网| 最新久久免费视频| 国产精品久久久久久吹潮| 91超碰碰碰碰久久久久久综合| 久久嫩草影院免费看夜色| 偷窥少妇久久久久久久久| 久久国产欧美日韩精品| 久久国产精品波多野结衣AV| 久久天天婷婷五月俺也去| 久久精品水蜜桃av综合天堂| 久久精品国产一区二区电影| 久久只有这精品99| 热99re久久国超精品首页| 无码人妻少妇久久中文字幕| 久久精品天天中文字幕人妻| 久久伊人精品青青草原日本| 亚洲国产精品久久久天堂 | 久久丫精品国产亚洲av| 国产 亚洲 欧美 另类 久久| 日本五月天婷久久网站| 国内精品免费久久影院| 久久天天躁狠狠躁夜夜96流白浆| 国产免费久久精品99久久| 少妇精品久久久一区二区三区|