top概述:
top是所有類unix系統的必備工具,能直觀方便的查看到系統負載、內存及進程等信息。而htop具有top工具的全部功能且還新增了一些額外的功能和使用體驗改進。與top相比,其具有如下優勢:
與top只提供最消耗資源的進程列表不同,htop提供所有進程的列表,並且使用彩色標識出處理器、swap和內存狀態。
可以在查找應用程序內存泄漏問題時使用;
提供更方便、光標控制的界面來殺死進程;
可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行;
啓動比top快。
htop軟件的獲取與安裝:
源碼安裝:
在htop項目的官方頁面http://htop.sourceforge.net/中,提供了多種獲取軟件的方式,svn、rpm包等,目前最新版爲1.0.2:
[root@magelinuxx htop]# wget http://sourceforge.net/projects/htop/files/htop/1.0.2/htop-1.0.2.tar.gz
tar zxvf htop-1.0.2.tar.gz
cd htop-1.0.2
./configure
make
make install2.2 RPM安裝:
[root@magelinuxx ~]# rpm -ivh http://pkgs.repoforge.org/htop/htop-1.0.2-1.el6.rf.x86_64.rpm
Retrieving http://pkgs.repoforge.org/htop/htop-1.0.2-1.el6.rf.x86_64.rpm
warning: /var/tmp/rpm-tmp.sMKDKN: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing... ########################################### [100%]1:htop ########################################### [100%]
三、htop用法:
直接執行htop命令,即可啓動htop工具,啓動後界面如下:
說明:
1、頭部左邊:顯示CPU、內存、Swap佔用率,數字標識的表示CPU每核心使用率
第一行:進程總數,當前運行進程數
第二行:5、10、15分鐘
負載
第三行:系統運行時間
3、主體部分:
F1:幫助
F2:設置htop顯示方式(偏好)
<a href="http://www.toxingwang.com/wp-content/uploads/2013/08/htop_setup.jpg" class="cboxElement" rel="example4" 1143"="" style="text-decoration: none; color: rgb(1, 150, 227);">
其他參考下面常用操作說明。
htop參數:
-d[刷新時間]-u[指定用戶]
Space:標記進程,可以一起kill掉
U:去掉所有進程上的標記
s:追蹤進程
l:顯示進程打開的文件
htop常用操作:
F1,h:幫助;
F2,S:設置;
F3, /:搜索;
F4,I:反轉排序順序;
F5,T:樹形顯示進程的父進程關係;
F6,>:選擇字段進行排序;
F7,],-:增加進程優先級;
F8,[,+ :減少進程優先級
F9,K :kill進程;
F10,Q,q:退出
dstat命令的使用
dstat概述
dstat是一個用來替換 vmstat,iostat netstat,nfsstat和ifstat這些命令的工具, 是一個全能系統信息統計工具. 與sysstat相比, dstat擁有一個彩色的界面, 在手動觀察性能狀況時, 數據比較顯眼容易觀察; 而且dstat支持即時刷新, 譬如輸入dstat 3, 即每三秒收集一次, 但最新的數據都會每秒刷新顯示. 和sysstat相同的是, dstat也可以收集指定的性能資源, 譬如 dstat -c 即顯示CPU的使用情況.
dstat的下載安裝
~]# yum install -y dstat
安裝完後就可以使用了,dstat非常強大,可以實時的監控cpu、磁盤、網絡、IO、內存等使用情況。
直接使用dstat,默認使用的是-cdngy參數,分別顯示cpu、disk、net、page、system信息,默認是1s顯示一條信息。可以在最後指定顯示一條信息的時間間隔,如dstat 5是每5s顯示一條,dstat 2 5表示每2s顯示一條,一共顯示5條。
cpu:hiq、siq分別爲硬中斷和軟中斷次數。
system:int、csw分別爲系統的中斷次數(interrupt)和上下文切換(context switch)。
常用選項
-c:顯示CPU系統佔用,用戶佔用,空閒,等待,中斷,軟件中斷等信息。
-C:當有多個CPU時候,此參數可按需分別顯示cpu狀態,例:-C 0,1 是顯示cpu0和cpu1的信息。
-d:顯示磁盤讀寫數據大小。
-D: hda,total:include hda and total。
-n:顯示網絡狀態。
-N: eth1,total:有多塊網卡時,指定要顯示的網卡。
-l:顯示系統負載情況。
-m:顯示內存使用情況。
-g:顯示頁面使用情況。
-p:顯示進程狀態。
-s:顯示交換分區使用情況。
-S:類似D/N。 -r:I/O請求情況。
-y:系統狀態。
--ipc:顯示ipc消息隊列,信號等信息。
--socket:用來顯示tcp udp端口狀態。
-a:此爲默認選項,等同於-cdngy。
-v:等同於 -pmgdsc -D total。
--output 文件:此選項也比較有用,可以把狀態信息以csv的格式重定向到指定的文件中,以便日後查看。例: dstat --output /root/dstat.csv & 此時讓程序默默的在後臺運行並把結果輸出到/root/dstat.csv文件中。
以上這些就是最常用的選項,而一般都組合使用如:
dstat -cdlmnpsyt 5 可以得到較全面的系統性能數據,最好全屏查看,否則有些數據無法看全。
dstat的功能非常強大,除了上述常用用法外,還有一些大家不常用的高級用法,如下:
找出佔用資源最高的進程和用戶
--top-(io|bio|cpu|cputime|cputime-avg|mem) 通過這幾個選項,可以看到具體是那個用戶那個進程佔用了相關係統資源,對系統調優非常有效。如查看當前佔用I/O、cpu、內存等最高的進程信息可以使用dstat --top-mem --top-io --top-cpu:
ps命令
ps命令概述:
要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生。
R 運行 runnable (on run queue) 正在運行或在運行隊列中等待。
S 中斷 sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到信號
T 停止 traced or stopped 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行
Z 僵死 a defunct (”zombie”) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放
使用方式:ps [options] [--help] 顯示瞬間行程 (process) 的動態
參數:
ps的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A顯示所有運行的進程
-w顯示加寬可以顯示較多的進程
-au顯示較詳細的進程
-aux顯示所有包含其他使用者的進程
-f顯示進程的所有信息。
-l以長格式顯示進程信息。
-r只顯示正在運行的進程。
-e顯示所有進程
-u顯示面向用戶的格式(包括用戶名、CPU及內存使用情況等信息)。
-x顯示所有非控制終端上的進程信息。
-p顯示由進程ID指定的進程的
-t顯示指定終端上的進程的信息
根據 CPU 使用來升序排序
~]# ps aux --sort -pcpu
根據線程來過濾進程
~]# ps -L 4710
通過CPU和內存的使用率來篩選進程,並且我們希望結果能夠每秒刷新一次。爲此,我們可以將ps命 令和watch命令結合起來。
~]# watch -n 1 'ps aux --sort -pmem,-pcpu'