Linux中查看系統資源占用情況的命令 |
發布時間: 2012/8/10 10:25:08 |
用 'top -i' 看看有多少進程處于 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被占用很多,用 iostat 看看 I/O 負載情況...
還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪個進程消耗的cpu時間最多。 top: 主要參數 d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。 c:顯示進程完整的路徑與名稱。 S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。 s:安全模式。 i:不顯示任何閑置(Idle)或無用(Zombie)的行程。 n:顯示更新的次數,完成后將會退出to 顯示參數: PID(Process ID):進程標示號。 USER:進程所有者的用戶名。 PR:進程的優先級別。 NI:進程的優先級別數值。 VIRT:進程占用的虛擬內存值。 RES:進程占用的物理內存值。 SHR:進程使用的共享內存值。 S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。 %CPU:該進程占用的CPU使用率。 %MEM:該進程占用的物理內存和總內存的百分比。 TIME+:該進程啟動后占用的總的CPU時間。 Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。 top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。 <空格>:立刻刷新。 P:根據CPU使用大小進行排序。 T:根據時間、累計時間排序。 q:退出top命令。 m:切換顯示內存信息。 t:切換顯示進程和CPU狀態信息。 c:切換顯示命令名稱和完整命令行。 M:根據使用內存大小進行排序。 W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。 free 1.作用 free命令用來顯示內存的使用情況,使用權限是所有用戶。 2.格式 free [-b-k-m] [-o] [-s delay] [-t] [-V] 3.主要參數 -b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。 -s delay:顯示每隔多少秒數來顯示一次內存使用情況。 -t:顯示內存總和列。 -o:不顯示緩沖區調節列。 uptime 18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21 現在的時間 系統開機運轉到現在經過的時間 連線的使用者數量 最近一分鐘,五分鐘和十五分鐘的系統負載 參數: -V 顯示版本資訊。 vmstat procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70 1 觀察磁盤活動情況 磁盤活動情況主要從以下幾個指標了解: bi:表示從磁盤每秒讀取的塊數(blocks/s)。數字越大,表示讀磁盤的活動越多。 bo:表示每秒寫到磁盤的塊數(blocks/s)。數字越大,表示寫磁盤的活動越多。 wa:cpu等待磁盤I/O(未決的磁盤IO)的時間比例。數字越大,表示文件系統活動阻礙cpu的情況越嚴重,因為cpu在等待慢速的磁盤系統提供數據。wa為0是最理想的。如果wa經常大于10,可能文件系統就需要進行性能調整了。 2 觀察cpu活動情況 vmstat比top更能反映出cpu的使用情況: us:用戶程序使用cpu的時間比例。這個數字越大,表示用戶進程越繁忙。 sy: 系統調用使用cpu的時間比例。注意,NFS由于是在內核里面運行的,所以NFS活動所占用的cpu時間反映在sy里面。這個數字經常很大的話,就需要注 意是否某個內核進程,比如NFS任務比較繁重。如果us和sy同時都比較大的話,就需要考慮將某些用戶程序分離到另外的服務器上面,以免互相影響。 id:cpu空閑的時間比例。 wa:cpu等待未決的磁盤IO的時間比例。 iostat 用于統計CPU的使用情況及tty設備、硬盤和CD-ROM的I/0量 參數: -c 只顯示CPU行 -d 顯示磁盤行 -k 以千字節為單位顯示磁盤輸出 -t 在輸出中包括時間戳 -x 在輸出中包括擴展的磁盤指標 avg-cpu: %user %nice %sys %iowait %idle 20.25 0.18 2.61 76.39 0.57 %iowait 等待本地I/O時CPU空閑時間的百分比 %idle 未等待本地I/O時CPU空閑時間的百分比 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn hda 9.86 284.34 84.48 685407 2036 每秒傳輸數(tps)、每秒512字節塊讀取數(Blk_read/s)、每秒512字節塊寫入數(Blk_wrtn/s)和512字節塊讀取(Blk_read)和寫入(Blk_wrtn)的總數量。 系統 # 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 # 查看所有安裝的軟件包 本文出自:億恩科技【www.laynepeng.cn】 |