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


            亚洲欧洲精品成人久久曰影片 | 国产精品久久久久9999高清| 亚洲中文字幕无码一久久区 | 久久亚洲sm情趣捆绑调教| 久久久久亚洲AV片无码下载蜜桃 | 久久成人影院精品777| 久久精品中文字幕有码| 亚洲人成网站999久久久综合| 久久久久高潮综合影院| 久久精品国内一区二区三区 | 久久99国产精品一区二区| 精品无码久久久久久久动漫| 一本大道久久东京热无码AV| 久久精品无码一区二区无码 | 久久婷婷午色综合夜啪| 亚洲AV成人无码久久精品老人| 精品免费tv久久久久久久| 一本久久免费视频| 91精品日韩人妻无码久久不卡| 久久久精品久久久久影院| 99久久精品国产毛片| 久久国产精品无码HDAV| 久久亚洲色一区二区三区| 精品国产福利久久久| 无码专区久久综合久中文字幕 | 国产精品久久久久天天影视| 久久精品国产清自在天天线| 91精品婷婷国产综合久久| 97精品久久天干天天天按摩| 香蕉久久永久视频| 青春久久| 国内精品久久久久久久影视麻豆 | 中文精品99久久国产| 国产一区二区精品久久凹凸| 久久久精品免费国产四虎| 久久婷婷五月综合97色一本一本 | 97香蕉久久夜色精品国产| 久久人人超碰精品CAOPOREN | 国产高潮久久免费观看| 粉嫩小泬无遮挡久久久久久| 亚洲综合日韩久久成人AV|