歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux查看系統狀態命令

Linux查看系統狀態命令

日期:2017/2/28 13:54:59   编辑:Linux教程

iostat

iostat 命令詳細地顯示了存儲子系統方面的情況。你通常用iostat來監控存儲子系統總 體上運行狀況如何,並且在用戶注意到服務器運行緩慢之前提早發現輸入/輸出緩慢的問題 。相信我,你應該在用戶發現這些問題之前先發現這些問題!

meminfo和free

meminfo為你詳細顯示了內存方面的情況。你通常可以使用另一個程序,比如cat和grep ,來訪問meminfo的信息。比如說,cat /proc/meminfo為你詳細顯示了服務器的內存在任何 一個時間的使用情況。

如果想快速了解內存的概要信息,可以使用free命令。簡而言之,free為你提供了概要 信息;meminfo為你提供了詳細信息。

mpsta

mpstat命令可以報告多處理器服務器上每個可用處理器的活動情況。如今,由於多核處 理器,這個命令適用於幾乎所有服務器。mpstat還可以報告所有服務器上的處理器的平均活 動情況。它讓你能夠按照系統或按照處理器來顯示總的處理器統計信息。這個概要信息可以 在潛在的應用程序問題惹毛用戶之前提醒你注意。

netstat

netstat與ps一樣,也是Linux管理員每天都使用的Linux工具。它顯示了與網絡有關的大 量信息,比如套接口使用情況、路由、接口、協議、網絡統計信息及更多信息。最常用的一 些選項如下:

-a 顯示套接口的所有信息

-r 顯示路由信息

-i 顯示網絡接口的統計信息

-s 顯示網絡協議的統計信息

nmon

nmon是Nigel's Monitor的簡稱,這款廣受歡迎的開源工具用來監控Linux系統的性能。 nmon可以監控多個子系統的性能信息,比如處理器使用率、內存使用率、運行隊列的信息、 磁盤輸入/輸出統計信息、網絡輸入/輸出統計信息、內存分頁活動和進程衡量指標。然後, 你可以通過curses"圖形化"界面,查看 nmon的實時系統衡量結果。

想運行nmon,你可以從外殼來啟動該工具。一旦啟動,只要輸入單鍵命令,就可以選擇 要監控的子系統。比如說,想獲得處理器、內存和磁盤等方面的統計信息,只要分別輸入c 、m和d.也可以使用帶-f標志的nmon,將性能統計信息保存到CSV文件中,以便日後分析。

就日常的服務器監控而言,我覺得nmon是我的Linux系統管理工具包中最有用的一個程序 。

pmap

pmap命令用來報告服務器的進程所使用的內存量。你可以用這個工具來確定服務器上哪 些進程被分配了內存、這些進程中有誰在大量使用內存。

ps和pstree

ps和pstree這兩個命令是Linux系統管理員的兩個得力助手。它們都能以列表的形式顯示 所有目前在運行的進程。ps可以告訴你服務器的程序在使用多少的內存和處理器時間。 pstree顯示的信息比較少,但著重表明了哪些進程是其他進程的子進程。掌握了這些信息, 你就能發現失控的進程,然後用 Linux"不留活口"的kill命令,來終止這些進程。

sar

sar程序好比是系統監控工具領域的瑞士軍刀。sar命令實際上由三個程序組成:顯示數 據的sar、收集數據的sa1以及保存數據的sa2.一旦安裝完畢,sar就能生成詳細的概要信息 ,顯示處理器使用率、內存分頁活動、網絡輸入/輸出和傳輸方面的統計信息、進程創建活 動以及磁盤設備活動。sar和 nmon的一大區別在於,前者更適合長期監控系統,我覺得nmon 則比較適合幫助我快速查看服務器的運行狀況。

strace

strace 經常被認為是程序員的調試工具,但它的功用不僅僅用來調試。它可以截獲和記 錄進程調用系統的情況。因而,它是一個實用的診斷、教學和調試工具。比如說,你可以使 用strace來查出某個程序在啟動時實際上使用哪個配置文件。

不過strace的確有一個缺陷。它在檢查某個進程時,該進程的性能會一落千丈。因而, 只有在我已經有極其充分的理由認為某個程序引起問題的情況下,才使用strace.

tcpdump

tcpdump是一個簡單而可靠的網絡監控實用工具。其基本的協議分析功能讓你能夠粗略查 看網絡上的情況。不過想真正深入分析網絡方面的情況,你應該使用Wireshark(下面有介 紹)。

top

top命令顯示了活動進程方面的情況。默認情況下,它顯示了服務器上運行的最消耗處理 器的任務,而且每5秒鐘就刷新一次列表。你還可以按多個標准對進程進行分類,比如PID( 進程ID);年限,最新的列在最前面;時間,按累計時間;以及駐留內存使用情況和自啟動 以來一直使用處理器的總時間。我覺得它提供了一種快速而簡易的方法,便於查看有沒有進 程開始即將失控、帶來問題。

uptime

uptime可用來查看某台服務器運行了多久、有多少個用戶登錄上去。它還顯示了服務器 平均負載的概要信息。負載的最佳值是1或更小,這意味著每個進程可以立即訪問處理器、 不存在處理器周期丟失的情況。

vmstat

大體上來說,你可以使用vmstat來監控虛擬內存方面的情況。Linux不斷使用虛擬內存, 以獲得最佳的存儲性能。

如果你的應用程序在占用過多的內存,你就會遇到頻繁被換出內存(page-out)的情況 ——即程序從內存進入到系統硬驅上的交換空間。你的服務器可能會進入到這個 階段:花在管理內存分頁上的時間比花在運行應用程序上的時間還多——這種情 況被稱為抖動(thrashing)。當你的電腦抖動時,性能就一落千丈。Vmstat可以顯示平均 的數據或實際樣本,可以幫助你發覺大量耗用內存的程序和進程,以免它們導致服務器運行 起來如同蝸牛緩行。

Wireshark

Wireshark之前名為Ethereal(而且現在仍經常這麼叫),是tcpdump的同類工具,不過 它更為高級,擁有先進得多的協議分析和報告功能。Wireshark既有GUI界面,又有外殼界面 。如果你從事專業級的網絡管理工作,只能使用ethereal.而如果你在使用 Wireshark/ethereal,我強烈建議閱讀Chris Sander所著的《實用數據包分析》 (Practical Packet Analysis),該書深入淺出地介紹了如何最充分地利用這款實用程序 。

系統
# uname -a # 查看內核/操作系統/CPU信息
# head -n 1 /etc/issue # 查看操作系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出所有PCI設備
# lsusb -tv # 列出所有USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量
資源
# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各 分區使用情況
# du -sh # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閒內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看 系統負載
磁盤和分區
# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看所有分區
# swapon -s # 查看所有交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啟動時 IDE設備檢測狀況
網絡
# ifconfig # 查看所有網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看所有監聽端口
# netstat -antp # 查看所有已經建立的連接
# netstat -s # 查看網絡統計信息
進程
# ps -ef # 查看所有進程
# top # 實時顯示進程狀態
用戶
# w # 查看活動用戶
# id # 查看指定 用戶信息
# last # 查看用戶登錄日志
# cut -d: -f1 /etc/passwd # 查看 系統所有用戶
# cut -d: -f1 /etc/group # 查看系統所有組
# crontab -l # 查看當前用戶的計劃任務
服務
# chkconfig -list # 列出所有系統服務
# chkconfig -list | grep on # 列出所有啟動的系統服務
程序
# rpm -qa # 查看所有安裝的軟件包

Copyright © Linux教程網 All Rights Reserved