linux系統檢視系統資源分析效能情況
1,top命令檢視cpu,mem的使用情況
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21093 root 15 0 12700 736 524 S 2 0.0 80:01.36 cmahostd
1 root 15 0 10324 84 52 S 0 0.0 1:10.26 init
2 root RT -5 0 0 0 S 0 0.0 0:27.31 migration/0
%cpu 程式所佔cpu時間的百分比
%mem 程式所佔記憶體的百分比
2,top 後,在shift + p 所佔程式的排序顯示
3,top 後,在shift + m 所佔記憶體的排序顯示
從前面三行來年看,如果cpu比較空閒,比如大於50%,通常情況來說,比較正常的!
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11981 root 34 19 276m 43m 1452 S 0 1.1 64:22.57 yum-updatesd
2601 apacheus 15 0 413m 37m 5376 S 0 1.0 0:00.76 httpd
18833 apacheus 15 0 415m 36m 5908 S 0 0.9 0:01.49 httpd
18832 apacheus 15 0 415m 35m 5804 S 0 0.9 0:02.19 httpd
22881 apacheus 15 0 415m 35m 5924 S 0 0.9 0:01.62 httpd4
vmstat 2 表示每隔2秒檢視一下記憶體,交換分割槽,i/o,cpu的使用情況
[root@mytest ~]# vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 182164 187684 708508 1997704 0 0 1 5 0 0 0 0 100 0 0
1 0 182164 187396 708508 1997708 0 0 0 36 1020 2203 0 0 99 0 0
0 0 182164 187708 708508 1997712 0 0 0 114 1056 2367 1 0 99 0 0
memory下的引數說明:
swpd: 已用的交換空間數量
free: 空閒記憶體數量
buff: 緩衝使用的記憶體數量
cache: 檔案系統快取使用的記憶體數量
swap交換分割槽下的引數說明:
si: 從磁碟轉換到記憶體的數量
so: 從記憶體轉換到磁碟的數量
i/o磁碟i/o下的引數說明:
bi: 從塊裝置讀的數量
bo: 寫塊裝置的數量
cpu下的一些引數說明:
us: 使用者方式下所佔CPU工作時間的百分比
sy: 核心程式所佔cpu工作時間的百分比
id: cpu處在空閒狀態下的時間百分比
wa: 等待I/O所佔用CPU工作時間的百分比
如果發現r所在的列顯示的資料比較大,並且經常超過cpu的程式數量,說明cpu不夠,等等的事務較多,cpu資源不足,這時候就要分析是哪些佔用了較多資源
5,df 檢視磁碟的使用情況
[root@mytest ~]# df
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01
31G 5.1G 25G 18% /
/dev/mapper/VolGroup00-LogVol02
39G 13G 25G 35% /u01
/dev/mapper/VolGroup00-LogVol04
126G 36G 84G 30% /backup
/dev/mapper/VolGroup00-LogVol03
39G 182M 37G 1% /archive
/dev/cciss/c0d0p1 190M 28M 153M 16% /boot
tmpfs 7.7G 0 7.7G 0% /dev/shm
192.168.11.20:/archive/node1
39G 185M 37G 1% /archive/node1
used 表示已使用了多少
available 表示還有多少空間可用
use% 磁碟的使用率
最後一行,表示使用了nfs,遠端掛載
6,mpstat和sar檢視cpu的執行情況,這二個差不多
[root@mytest ~]# mpstat
11:38:39 AM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
11:38:39 AM all 0.11 0.01 0.05 0.13 0.00 0.01 0.00 99.68 84.51
%user 使用者所佔的CPU時間百分比
%nice nice值為負程式的CPU時間百分比
%sys 系統核心所佔cpu時間的百分比
%iowait i/o等待所佔cpu時間的百分比
%idle cpu閒置時間的百分比
intr/s 每秒cpu的中斷次數
7,free -m來檢視記憶體,交換分割槽使用情況,如果不加-m的話,最小單位是KB
[root@mytest ~]# free -m
total used free shared buffers cached
Mem: 3823 3647 175 0 703 1945
-/+ buffers/cache: 998 2825
Swap: 24003 177 23825
total 表時總量是多少
used 已經使用了多少
free 還有多少空閒
shared 共享是多少
buffers 緩衝是多少
cached 快取了多少
8,iostat檢視磁碟i/o情況
[root@krlcgcms01 ~]# iostat -x 2
Linux 2.6.18-92.1.10.el5 (krlcgcms01) 12/10/2010
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 0.06 0.13 0.00 99.68
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0.21 7.78 0.44 3.00 12.13 86.31 28.63 0.03 7.68 3.39 1.17
rrqm/s: 每秒進行 merge 的讀運算元目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫運算元目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 裝置次數。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 裝置次數。即 delta(wio)/s
rsec/s: 每秒讀扇區數。即 delta(rsect)/s
wsec/s: 每秒寫扇區數。即 delta(wsect)/s
rkB/s: 每秒讀K位元組數。是 rsect/s 的一半,因為每扇區大小為512位元組。(需要計算)
wkB/s: 每秒寫K位元組數。是 wsect/s 的一半。(需要計算)
avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O佇列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await: 平均每次裝置I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次裝置I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 佇列是非空的。即 delta(use)/s/1000 (因
為use的單位為毫秒)
9,檢視網路的情況
linux本身沒帶有檢視網路連續情況的命令,可以從如下指令碼中去檢視,每秒網路的傳輸情況
#!/bin/bash
if [ -n "$1" ]; then
eth_name=$1
else
eth_name="eth0"
fi
i=0
send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`
send_n=$send_o
recv_n=$recv_o
while [ $i -le 100000 ]; do
send_l=$send_n
recv_l=$recv_n
sleep 1
send_n=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
recv_n=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`
i=`expr $i + 1`
send_r=`expr $send_n - $send_l`
recv_r=`expr $recv_n - $recv_l`
total_r=`expr $send_r + $recv_r`
send_ra=`expr /( $send_n - $send_o /) / $i`
recv_ra=`expr /( $recv_n - $recv_o /) / $i`
total_ra=`expr $send_ra + $recv_ra`
sendn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $3}' | awk -F /) '{print $1}'`
recvn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $2}' | awk -F /) '{print $1}'`
clear
echo "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec"
echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec"
echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn"
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1063306/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux系統檢視網路連線情況Linux
- 如何快速檢視Linux系統重啟情況Linux
- 在Linux中,如何檢視系統資源使用情況?Linux
- vmstat檢視分析Linux系統負載效能Linux負載
- Linux 下檢視系統資源的更好方式Linux
- 檢視 Linux 系統資訊Linux
- 檢視Linux系統版本資訊Linux
- Linux 系統檢視命令Linux
- Linux 基礎教程 36-檢視系統效能Linux
- Linux系統如何檢視版本資訊Linux
- 在Linux中,如何檢視系統的磁碟使用情況?Linux
- Linux 檢視程式情況Linux
- Linux - 檢視系統的版本Linux
- 【TUNE_ORACLE】檢視系統CPU和IO情況SQL參考OracleSQL
- Linux系統glibc庫版本資訊檢視Linux
- 檢視SQLServer的LCK資源等待情況SQLServer
- Linux 如何檢視系統負載Linux負載
- Linux檢視系統版本命令Linux
- Linux 檢視系統檔案命令Linux
- 在Linux中,如何監控系統資源使用情況?Linux
- Linux 系統檢視使用者組Linux
- 如何檢視Linux作業系統版本?Linux作業系統
- Linux系統中如何檢視塊裝置資訊?Linux
- Linux 系統下檢視硬體資訊命令大全Linux
- Linux中常用的檢視系統資訊的命令Linux
- Windows10系統檢視GPU效能資料的方法WindowsGPU
- 華納雲:如何在CentOS中檢視當前系統的負載情況CentOS負載
- 什麼情況下不應該使用 Windows Linux 子系統WindowsLinux
- 在Linux中,如何檢視系統日誌?Linux
- 如何檢視Linux系統是什麼版本?Linux
- Linux 檢視設定系統語言(轉)Linux
- 檢視正在執行的 Linux 系統版本Linux
- Linux系統如何檢視伺服器頻寬及網路使用情況?Linux伺服器
- Linux系統檢視硬體具體型號資訊Linux
- 公安大資料分析系統開發,情報研判系統搭建大資料
- 業務系統中資源爭奪情況是不存在的 - udidahan
- 檢視 Linux 系統中程序和使用者的記憶體使用情況Linux記憶體
- 系統表和資料字典檢視
- SAP 系統效能分析 Tcode