• <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)計(jì)

            最新評(píng)論

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

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

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

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

              一、進(jìn)程信息

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

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

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

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

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

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

              /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)程都會(huì)做存儲(chǔ)器清除工作。在/proc/pid/stat文件中的每一 個(gè)進(jìn)程標(biāo)識(shí) (第8個(gè)屬性)提供了有關(guān)進(jìn)程的很多 “個(gè)人”信 息。這個(gè)信 息可以對(duì)每一個(gè) 進(jìn)程標(biāo)識(shí)進(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)打開(kāi)文件的信息。要查看被進(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號(hào),使用以下命令:

              #grep PPid/proc/pid/status

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

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

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

              # grep Free /proc/meminfo

              ◆ 自從系統(tǒng)最后一次啟動(dòng)后的系統(tǒng)統(tǒng)計(jì)可以從/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)行時(shí)間:

              #cat /proc/uptime

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

              # cat /proc/fs/nfsd/exports

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

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

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

              #cat /proc/version

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

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

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

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


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


            久久久久久综合一区中文字幕| 亚洲va久久久噜噜噜久久 | 久久久久成人精品无码中文字幕| 久久综合给久久狠狠97色| 国产精自产拍久久久久久蜜| 久久精品国产一区二区三区| 久久人妻无码中文字幕| 国产精品久久自在自线观看| 亚洲伊人久久综合影院| 日韩欧美亚洲综合久久影院d3| 久久婷婷午色综合夜啪| 精品久久久无码中文字幕| 亚洲天堂久久精品| 久久精品毛片免费观看| 亚洲国产精品成人久久蜜臀| 99久久无码一区人妻a黑| 亚洲熟妇无码另类久久久| 少妇熟女久久综合网色欲| 久久无码人妻精品一区二区三区| 99久久夜色精品国产网站| 久久精品九九亚洲精品| 香蕉久久夜色精品升级完成| 一本久久精品一区二区| 国产精品九九久久免费视频| 精品久久久久久无码专区 | 亚洲欧美日韩久久精品| 久久久WWW成人免费毛片| 99久久精品国产综合一区| 韩国三级大全久久网站| 国产精品久久久99| 久久综合中文字幕| 久久99国产精品久久| 久久九九亚洲精品| 国产精品美女久久久免费| 2021久久精品国产99国产精品 | 久久91精品国产91久久小草| 国内精品久久久久久99蜜桃 | 欧美午夜精品久久久久久浪潮| 亚洲精品乱码久久久久久不卡| 久久精品国产黑森林| 午夜福利91久久福利|