qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          精通軟件性能測試與LoadRunner最佳實戰 連載六

            8.2.5  Linux操作系統進程監控技術

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

          圖8-19 “系統監視器”對話框

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

          表8-2 ps命令的主要參數項說明

          選 項 名 稱

          說    明

          -A

          顯示所有程序

          a

          顯示現行終端機下的所有程序,包括其他用戶的程序

          c

          列出程序時,顯示每個程序真正的指令名稱,而不包含路徑、參數或常駐服務的標示

          -e

          此參數的效果和指定“A”參數相同

          e

          列出程序時,顯示每個程序所使用的環境變量

          f

          用ASCII字符顯示樹狀結構,表達程序間的相互關系

          -H

          顯示樹狀結構,表示程序間的相互關系

          -N

          顯示所有的程序,除了執行ps指令終端機下的程序之外

          s

          采用程序信號的格式顯示程序狀況

          S

          列出程序時,包括已中斷的子程序資料

          -t<終端機編號>

          指定終端機編號,并列出屬于該終端機的程序的狀況

          u

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

          x

          顯示所有程序,不以終端機來區分

            為了使大家對該命令的使用有更深刻的認識,這里給大家舉幾個例子進行說明。

            1.示例一

            ps命令可以監控后臺進程的工作情況,因為后臺進程是不和屏幕、鍵盤這些標準輸入/輸出設備進行通信的,如果需要檢測其情況,可以使用ps?-el命令,輸出內容如圖8-20所示。

          圖8-20 “ps–el”命令顯示的進程信息

            關于輸出信息項的含義,如表8-3所示。

          表8-3 ps -el命令輸出項標頭含義說明

          輸  出  項

          說    明

          F

          用數值表示目前進程的狀態

          S

          用字符表示目前進程的狀態

          UID

          進程使用者的ID

          PID

          PID表示進程標示符

          C

          進程使用CPU的估算

          PRI

          進程執行的優先級

          NI

          Nice的值,Nice可以降低進程執行的優先權

          SZ

          Virtual Size,進程在虛擬內存中的大小

          WCHAN

          等待頻道,當為Null時,表示進程正在執行,當進程在就緒時為Waiting for

          TTY

          表示該進程建立時所對應的終端,“?”表示該進程不占用終端

          TIME

          進程已經執行的時間

          CMD

          進程被執行的命令名稱

            2.示例二

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

          圖8-21 “ps aux”命令顯示的進程信息

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

            關于輸出信息項的含義,如表8-4所示。

          表8-4 “ps aux | grep init”命令輸出項標頭含義說明

          輸  出  項

          說    明

          USER

          用戶名

          PID

          PID表示進程標示符

          輸  出  項

          說    明

          %CPU

          當前使用的CPU百分比

          %MEM

          RSS與系統中全部可用頁面的比率,因為RSS是包含共享內存在內的近似值,這個百分比也是近似值,所以可能超過內存總量。%MEM列的總和可能會超過100%

          VSZ

          Virtual Size,進程在虛擬內存中的大小。包括所有映射的文件和設備,單位是千字節

          RSS

          進程使用物理內存的近似值,單位是千字節

          TTY

          表示該進程建立時所對應的終端,“?”表示該進程不占用終端

          STAT

          進程狀態。STAT中的字符的含義如下:

          “D”:不可中斷

          “R”:正在運行,或在隊列中的進程

          “S”:處于休眠狀態

          “T”:停止或被追蹤

          “Z”:僵尸進程

          “W”:進入內存交換

          “X”:死掉的進程

          START

          進程運行的起始時間

          TIME

          進程已經執行的時間。單位以CPU運行時間,min和s表示,來源于微態(用戶+系統時間)。如果出現較大的值(大于幾分鐘),那么意味著進程已經運行了一段時間

          COMMAND

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

           3.示例三

            此外,還可以通過pstree命令查看Linux進程樹。pstree命令以字符形式顯示樹狀結構,清晰地表達了程序間的相互關系。如果不指定程序識別碼或用戶名稱,則會把系統啟動時的第一個程序視為基層,并顯示之后的所有程序;若指定用戶名稱,便會以隸屬該用戶的第一個程序當做基層,然后顯示該用戶的所有程序。

            下面,針對pstree選項進行說明,如表8-5所示。

          表8-5 “pstree”命令主要參數項說明

          選 項 名 稱

          說    明

          -a

          顯示每個程序的完整指令,包含路徑參數或是常駐服務的標示

          -G

          使用VT100終端機的列繪圖字符

          c

          不使用精簡標示法

          -h

          列出樹狀圖時,特別標明現在執行的程序

          -H<程序識別碼>

          此參數的效果和指定

          選 項 名 稱

          說    明

          -l

          采用長列格式顯示樹狀圖

          -n

          用程序識別碼排序。預設是以程序名稱來排序

          -p

          顯示程序識別碼

          -u

          顯示用戶名稱

          –U

          使用UTF

          -V

          顯示版本信息

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

          圖8-23 “pstree –a –l”命令顯示的進程信息

            8.2.6  Linux操作系統進程終止技術

            Linux操作系統也有結束進程的對應方法,在RedHat 9系統中,終止一個進程或正在運行的程序,一般是通過kill、killall、pkill等命令進行操作。

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

          圖8-24 “kill”命令幫助

          3.示例三

            此外,還可以通過pstree命令查看Linux進程樹。pstree命令以字符形式顯示樹狀結構,清晰地表達了程序間的相互關系。如果不指定程序識別碼或用戶名稱,則會把系統啟動時的第一個程序視為基層,并顯示之后的所有程序;若指定用戶名稱,便會以隸屬該用戶的第一個程序當做基層,然后顯示該用戶的所有程序。

            下面,針對pstree選項進行說明,如表8-5所示。

          表8-5 “pstree”命令主要參數項說明

          選 項 名 稱

          說    明

          -a

          顯示每個程序的完整指令,包含路徑參數或是常駐服務的標示

          -G

          使用VT100終端機的列繪圖字符

          c

          不使用精簡標示法

          -h

          列出樹狀圖時,特別標明現在執行的程序

          -H<程序識別碼>

          此參數的效果和指定

          選 項 名 稱

          說    明

          -l

          采用長列格式顯示樹狀圖

          -n

          用程序識別碼排序。預設是以程序名稱來排序

          -p

          顯示程序識別碼

          -u

          顯示用戶名稱

          –U

          使用UTF

          -V

          顯示版本信息

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

          圖8-23 “pstree –a –l”命令顯示的進程信息

            8.2.6  Linux操作系統進程終止技術

            Linux操作系統也有結束進程的對應方法,在RedHat 9系統中,終止一個進程或正在運行的程序,一般是通過kill、killall、pkill等命令進行操作。

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

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

           1.示例一

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

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

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

            2.示例二

            一個程序已經徹底關閉,如果kill不加信號強度(signal)沒有辦法退出,這時,最好的辦法就是加信號強度9,后面指出要殺死的“僵尸”進程PID,例如,需要關閉“Emacs”,通過“ps aux”命令,可以查看到“Emacs”的PID為“1938”,先需要強制關閉該程序,可以輸入“kill -9 1938”,如圖8-27所示,命令執行完成以后,“Emacs”程序就會被關閉。

          圖8-27 “kill -9 1938”強制終止進程命令


           3.示例三

            當然,還可以通過應用killall命令來終止某一個程序或者進程,如要結束“文本編輯器”程序,可以輸入“killall gedit”,回車執行,如圖8-28所示,killall是通過命令空格正在運行的程序名來結束某個程序的,如果想獲得更多的關于該命令的應用信息,請使用前面介紹的“man”命令。

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

            4.示例四

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

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

            (未完待續)

          版權聲明:51Testing軟件測試網及相關內容提供者擁有51testing.com內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容復制、轉載或進行鏡像。51testing軟件測試網歡迎與業內同行進行有益的合作和交流,如果有任何有關內容方面的合作事宜,請聯系我們。

          相關鏈接:

          精通軟件性能測試與LoadRunner最佳實戰 連載一

          精通軟件性能測試與LoadRunner最佳實戰 連載二

          精通軟件性能測試與LoadRunner最佳實戰 連載三

          精通軟件性能測試與LoadRunner最佳實戰 連載四

          精通軟件性能測試與LoadRunner最佳實戰 連載五


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

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 会泽县| 崇阳县| 凤山县| 桓台县| 濮阳县| 大关县| 兴义市| 休宁县| 综艺| 榕江县| 怀柔区| 绍兴市| 景泰县| 宣城市| 林芝县| 兴海县| 城固县| 洛川县| 甘孜县| 炉霍县| 临朐县| 三门县| 安丘市| 鄂伦春自治旗| 沙洋县| 奉新县| 土默特左旗| 化德县| 卓尼县| 南澳县| 浮山县| 普定县| 读书| 嘉禾县| 唐海县| 上杭县| 沾化县| 垣曲县| 闽侯县| 丰顺县| 恩施市|