qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載六

            8.2.5  Linux操作系統(tǒng)進(jìn)程監(jiān)控技術(shù)

            Linux在進(jìn)程監(jiān)控方面同樣出色,不僅可以通過圖形用戶界面的管理工具,還可以用命令方式顯示進(jìn)程相關(guān)信息。像“Windows的任務(wù)管理器”一樣,在RedHat 9中可以通過單擊“系統(tǒng)工具”→“系統(tǒng)監(jiān)視器”,啟動(dòng)“系統(tǒng)監(jiān)視器”,如圖8-19所示。

          圖8-19 “系統(tǒng)監(jiān)視器”對(duì)話框

            Linux系統(tǒng)提供了ps、top等查看進(jìn)程信息的系統(tǒng)調(diào)用,通過結(jié)合使用這些系統(tǒng)調(diào)用,可以清晰地了解進(jìn)程的運(yùn)行狀態(tài)以及存活情況,從而采取相應(yīng)的措施,來確保Linux系統(tǒng)的性能。ps是目前在Linux下最常見的進(jìn)程狀況查看命令,是隨Linux版本發(fā)行的,安裝好系統(tǒng)之后,用戶就可以使用。這里以ps命令為例,ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令。利用它可以確定有哪些進(jìn)程正在運(yùn)行及運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等。下面介紹一下ps命令的主要參數(shù)項(xiàng)的含義,如表8-2所示。

          表8-2 ps命令的主要參數(shù)項(xiàng)說明

          選 項(xiàng) 名 稱

          說    明

          -A

          顯示所有程序

          a

          顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序

          c

          列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑、參數(shù)或常駐服務(wù)的標(biāo)示

          -e

          此參數(shù)的效果和指定“A”參數(shù)相同

          e

          列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量

          f

          用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系

          -H

          顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系

          -N

          顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外

          s

          采用程序信號(hào)的格式顯示程序狀況

          S

          列出程序時(shí),包括已中斷的子程序資料

          -t<終端機(jī)編號(hào)>

          指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況

          u

          以用戶為主的格式來顯示程序狀況

          x

          顯示所有程序,不以終端機(jī)來區(qū)分

            為了使大家對(duì)該命令的使用有更深刻的認(rèn)識(shí),這里給大家舉幾個(gè)例子進(jìn)行說明。

            1.示例一

            ps命令可以監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕、鍵盤這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的,如果需要檢測(cè)其情況,可以使用ps?-el命令,輸出內(nèi)容如圖8-20所示。

          圖8-20 “ps–el”命令顯示的進(jìn)程信息

            關(guān)于輸出信息項(xiàng)的含義,如表8-3所示。

          表8-3 ps -el命令輸出項(xiàng)標(biāo)頭含義說明

          輸  出  項(xiàng)

          說    明

          F

          用數(shù)值表示目前進(jìn)程的狀態(tài)

          S

          用字符表示目前進(jìn)程的狀態(tài)

          UID

          進(jìn)程使用者的ID

          PID

          PID表示進(jìn)程標(biāo)示符

          C

          進(jìn)程使用CPU的估算

          PRI

          進(jìn)程執(zhí)行的優(yōu)先級(jí)

          NI

          Nice的值,Nice可以降低進(jìn)程執(zhí)行的優(yōu)先權(quán)

          SZ

          Virtual Size,進(jìn)程在虛擬內(nèi)存中的大小

          WCHAN

          等待頻道,當(dāng)為Null時(shí),表示進(jìn)程正在執(zhí)行,當(dāng)進(jìn)程在就緒時(shí)為Waiting for

          TTY

          表示該進(jìn)程建立時(shí)所對(duì)應(yīng)的終端,“?”表示該進(jìn)程不占用終端

          TIME

          進(jìn)程已經(jīng)執(zhí)行的時(shí)間

          CMD

          進(jìn)程被執(zhí)行的命令名稱

            2.示例二

            通常,在查看進(jìn)程的時(shí)候,最常用的命令是“ps aux”,有時(shí)為了查找特定的進(jìn)程,也會(huì)加入grep參數(shù),如“ps aux |grep init”輸出信息如圖8-21和圖8-22所示。

          圖8-21 “ps aux”命令顯示的進(jìn)程信息

          圖8-22 “ps aux|grep init”命令顯示的進(jìn)程信息

            關(guān)于輸出信息項(xiàng)的含義,如表8-4所示。

          表8-4 “ps aux | grep init”命令輸出項(xiàng)標(biāo)頭含義說明

          輸  出  項(xiàng)

          說    明

          USER

          用戶名

          PID

          PID表示進(jìn)程標(biāo)示符

          輸  出  項(xiàng)

          說    明

          %CPU

          當(dāng)前使用的CPU百分比

          %MEM

          RSS與系統(tǒng)中全部可用頁面的比率,因?yàn)镽SS是包含共享內(nèi)存在內(nèi)的近似值,這個(gè)百分比也是近似值,所以可能超過內(nèi)存總量。%MEM列的總和可能會(huì)超過100%

          VSZ

          Virtual Size,進(jìn)程在虛擬內(nèi)存中的大小。包括所有映射的文件和設(shè)備,單位是千字節(jié)

          RSS

          進(jìn)程使用物理內(nèi)存的近似值,單位是千字節(jié)

          TTY

          表示該進(jìn)程建立時(shí)所對(duì)應(yīng)的終端,“?”表示該進(jìn)程不占用終端

          STAT

          進(jìn)程狀態(tài)。STAT中的字符的含義如下:

          “D”:不可中斷

          “R”:正在運(yùn)行,或在隊(duì)列中的進(jìn)程

          “S”:處于休眠狀態(tài)

          “T”:停止或被追蹤

          “Z”:僵尸進(jìn)程

          “W”:進(jìn)入內(nèi)存交換

          “X”:死掉的進(jìn)程

          START

          進(jìn)程運(yùn)行的起始時(shí)間

          TIME

          進(jìn)程已經(jīng)執(zhí)行的時(shí)間。單位以CPU運(yùn)行時(shí)間,min和s表示,來源于微態(tài)(用戶+系統(tǒng)時(shí)間)。如果出現(xiàn)較大的值(大于幾分鐘),那么意味著進(jìn)程已經(jīng)運(yùn)行了一段時(shí)間

          COMMAND

          進(jìn)程被執(zhí)行的命令名稱。COMMAND項(xiàng)是被刪除過的以便于輸出與終端窗口符合。用“ps auxw”命令來使得輸出顯示更寬,最多可顯示132個(gè)字符

           3.示例三

            此外,還可以通過pstree命令查看Linux進(jìn)程樹。pstree命令以字符形式顯示樹狀結(jié)構(gòu),清晰地表達(dá)了程序間的相互關(guān)系。如果不指定程序識(shí)別碼或用戶名稱,則會(huì)把系統(tǒng)啟動(dòng)時(shí)的第一個(gè)程序視為基層,并顯示之后的所有程序;若指定用戶名稱,便會(huì)以隸屬該用戶的第一個(gè)程序當(dāng)做基層,然后顯示該用戶的所有程序。

            下面,針對(duì)pstree選項(xiàng)進(jìn)行說明,如表8-5所示。

          表8-5 “pstree”命令主要參數(shù)項(xiàng)說明

          選 項(xiàng) 名 稱

          說    明

          -a

          顯示每個(gè)程序的完整指令,包含路徑參數(shù)或是常駐服務(wù)的標(biāo)示

          -G

          使用VT100終端機(jī)的列繪圖字符

          c

          不使用精簡(jiǎn)標(biāo)示法

          -h

          列出樹狀圖時(shí),特別標(biāo)明現(xiàn)在執(zhí)行的程序

          -H<程序識(shí)別碼>

          此參數(shù)的效果和指定

          選 項(xiàng) 名 稱

          說    明

          -l

          采用長(zhǎng)列格式顯示樹狀圖

          -n

          用程序識(shí)別碼排序。預(yù)設(shè)是以程序名稱來排序

          -p

          顯示程序識(shí)別碼

          -u

          顯示用戶名稱

          –U

          使用UTF

          -V

          顯示版本信息

            如果要以長(zhǎng)列格式顯示樹狀圖,并且顯示每個(gè)進(jìn)程的完整指令,則可以在命令行輸入“pstree –a –l”,回車執(zhí)行,輸出內(nèi)容如圖8-23所示。

          圖8-23 “pstree –a –l”命令顯示的進(jìn)程信息

            8.2.6  Linux操作系統(tǒng)進(jìn)程終止技術(shù)

            Linux操作系統(tǒng)也有結(jié)束進(jìn)程的對(duì)應(yīng)方法,在RedHat 9系統(tǒng)中,終止一個(gè)進(jìn)程或正在運(yùn)行的程序,一般是通過kill、killall、pkill等命令進(jìn)行操作。

            下面結(jié)合實(shí)例給大家具體介紹一下,這些命令是如何應(yīng)用于具體的工作當(dāng)中。首先,看一下kill命令,這里給大家介紹一個(gè)通用的查看命令幫助的方法,通常可以用“man命令”的方式來查看該命令的幫助信息,如查看kill命令幫助,則可以在終端命令窗口輸入“man kill”,回車執(zhí)行,顯示如圖8-24所示信息,可以輸入“q”退出幫助信息查看。

          圖8-24 “kill”命令幫助

          3.示例三

            此外,還可以通過pstree命令查看Linux進(jìn)程樹。pstree命令以字符形式顯示樹狀結(jié)構(gòu),清晰地表達(dá)了程序間的相互關(guān)系。如果不指定程序識(shí)別碼或用戶名稱,則會(huì)把系統(tǒng)啟動(dòng)時(shí)的第一個(gè)程序視為基層,并顯示之后的所有程序;若指定用戶名稱,便會(huì)以隸屬該用戶的第一個(gè)程序當(dāng)做基層,然后顯示該用戶的所有程序。

            下面,針對(duì)pstree選項(xiàng)進(jìn)行說明,如表8-5所示。

          表8-5 “pstree”命令主要參數(shù)項(xiàng)說明

          選 項(xiàng) 名 稱

          說    明

          -a

          顯示每個(gè)程序的完整指令,包含路徑參數(shù)或是常駐服務(wù)的標(biāo)示

          -G

          使用VT100終端機(jī)的列繪圖字符

          c

          不使用精簡(jiǎn)標(biāo)示法

          -h

          列出樹狀圖時(shí),特別標(biāo)明現(xiàn)在執(zhí)行的程序

          -H<程序識(shí)別碼>

          此參數(shù)的效果和指定

          選 項(xiàng) 名 稱

          說    明

          -l

          采用長(zhǎng)列格式顯示樹狀圖

          -n

          用程序識(shí)別碼排序。預(yù)設(shè)是以程序名稱來排序

          -p

          顯示程序識(shí)別碼

          -u

          顯示用戶名稱

          –U

          使用UTF

          -V

          顯示版本信息

            如果要以長(zhǎng)列格式顯示樹狀圖,并且顯示每個(gè)進(jìn)程的完整指令,則可以在命令行輸入“pstree –a –l”,回車執(zhí)行,輸出內(nèi)容如圖8-23所示。

          圖8-23 “pstree –a –l”命令顯示的進(jìn)程信息

            8.2.6  Linux操作系統(tǒng)進(jìn)程終止技術(shù)

            Linux操作系統(tǒng)也有結(jié)束進(jìn)程的對(duì)應(yīng)方法,在RedHat 9系統(tǒng)中,終止一個(gè)進(jìn)程或正在運(yùn)行的程序,一般是通過kill、killall、pkill等命令進(jìn)行操作。

            下面結(jié)合實(shí)例給大家具體介紹一下,這些命令是如何應(yīng)用于具體的工作當(dāng)中。首先,看一下kill命令,這里給大家介紹一個(gè)通用的查看命令幫助的方法,通常可以用“man命令”的方式來查看該命令的幫助信息,如查看kill命令幫助,則可以在終端命令窗口輸入“man kill”,回車執(zhí)行,顯示如圖8-24所示信息,可以輸入“q”退出幫助信息查看。

          圖8-24 “kill”命令幫助信息

           1.示例一

            運(yùn)行“ps aux | grep gnome”命令查看當(dāng)前系統(tǒng)運(yùn)行的進(jìn)程名包含“gnome”的進(jìn)程,可以看到,pid為“2151”的則是系統(tǒng)自帶的“字典”應(yīng)用程序,如圖8-25所示,如果要將這個(gè)程序關(guān)閉,可以輸入命令“kill 2151”,則關(guān)閉了“字典”程序(從界面上消失),再輸入“ps aux | grep gnome”命令,查看“字典”程序已經(jīng)不存在,如圖8-26所示。

          圖8-25 “ps aux | grep gnome”輸出信息

          圖8-26 “kill 2151”、“ps aux | grep gnome”命令輸出信息

            2.示例二

            一個(gè)程序已經(jīng)徹底關(guān)閉,如果kill不加信號(hào)強(qiáng)度(signal)沒有辦法退出,這時(shí),最好的辦法就是加信號(hào)強(qiáng)度9,后面指出要?dú)⑺赖?#8220;僵尸”進(jìn)程PID,例如,需要關(guān)閉“Emacs”,通過“ps aux”命令,可以查看到“Emacs”的PID為“1938”,先需要強(qiáng)制關(guān)閉該程序,可以輸入“kill -9 1938”,如圖8-27所示,命令執(zhí)行完成以后,“Emacs”程序就會(huì)被關(guān)閉。

          圖8-27 “kill -9 1938”強(qiáng)制終止進(jìn)程命令


           3.示例三

            當(dāng)然,還可以通過應(yīng)用killall命令來終止某一個(gè)程序或者進(jìn)程,如要結(jié)束“文本編輯器”程序,可以輸入“killall gedit”,回車執(zhí)行,如圖8-28所示,killall是通過命令空格正在運(yùn)行的程序名來結(jié)束某個(gè)程序的,如果想獲得更多的關(guān)于該命令的應(yīng)用信息,請(qǐng)使用前面介紹的“man”命令。

          圖8-28 “killall gedit”終止文本編輯器命令

            4.示例四

            pkill和killall命令應(yīng)用方法差不多,也是直接關(guān)閉運(yùn)行中的程序。如果想關(guān)閉單個(gè)進(jìn)程,請(qǐng)用kill命令,如要結(jié)束“文本編輯器”程序,可以輸入“pkill gedit”,回車執(zhí)行,如圖8-29所示。pkill命令是通過命令空格正在運(yùn)行的程序名來結(jié)束某個(gè)程序的,如果想獲得更多的關(guān)于該命令的應(yīng)用信息,請(qǐng)使用前面介紹的“man”命令。

          圖8-29 “pkill gedit”終止文本編輯器命令

            (未完待續(xù))

          版權(quán)聲明:51Testing軟件測(cè)試網(wǎng)及相關(guān)內(nèi)容提供者擁有51testing.com內(nèi)容的全部版權(quán),未經(jīng)明確的書面許可,任何人或單位不得對(duì)本網(wǎng)站內(nèi)容復(fù)制、轉(zhuǎn)載或進(jìn)行鏡像。51testing軟件測(cè)試網(wǎng)歡迎與業(yè)內(nèi)同行進(jìn)行有益的合作和交流,如果有任何有關(guān)內(nèi)容方面的合作事宜,請(qǐng)聯(lián)系我們。

          相關(guān)鏈接:

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載一

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載二

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載三

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載四

          精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載五


          posted on 2013-07-03 11:20 順其自然EVO 閱讀(255) 評(píng)論(0)  編輯  收藏 所屬分類: loadrunner性能測(cè)試

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 湘阴县| 怀宁县| 溆浦县| 浮梁县| 安图县| 阳谷县| 三门县| 文登市| 临海市| 长泰县| 成都市| 淮北市| 济南市| 绩溪县| 汕头市| 西吉县| 溧水县| 阳曲县| 松原市| 上栗县| 博爱县| 栾川县| 新安县| 平定县| 剑河县| 上林县| 新乡县| 阿勒泰市| 英超| 富顺县| 赞皇县| 新田县| 贵定县| 邮箱| 阜南县| 都兰县| 渑池县| 湛江市| 钦州市| 敦煌市| 措美县|