linux伺服器性能檢視
################### cpu性能檢視 ############################################################
1、檢視實體cpu個數:
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
2、檢視每個實體cpu中的core個數:
cat /proc/cpuinfo |grep "cpu cores"|wc -l
3、邏輯cpu的個數:
cat /proc/cpuinfo |grep "processor"|wc -l
實體cpu個數*核數=邏輯cpu個數(不支援超線程技術的情況下)
########################### 記憶體檢視 ################################################################
1、檢視記憶體使用情況:
free -m
total used free shared buffers cached
mem: 3949 2519 1430 0 189 1619
-/+ buffers/cache: 710 3239
swap: 3576 0 3576
total:記憶體總數
used:已經使用的記憶體數
free:空閑記憶體數
shared:多個程序共享的記憶體總額
- buffers/cache:(已用)的記憶體數,即used-buffers-cached
+ buffers/cache:(可用)的記憶體數,即free+buffers+cached
buffer cache用于針對磁盤塊的讀寫;page cache用于針對檔案inode的讀寫,這些cache能有效地縮短i/o系統調用的時間。
對于作業系統來說free/used是系統可用/占用的記憶體;而對于應用程式來說-/+ buffers/cache是可用/占用記憶體,因為buffers/cache很快就會被使用。我們工作時候應該從應用角度來看。
################# 硬碟檢視 ##########################################################################
1、檢視硬碟及分區資訊:
fdisk -l
2、檢視檔案系統的磁盤空間占用情況:
df -h
3、檢視硬碟的i/o性能(每隔一秒顯示一次,顯示5次):
iostat -x 1 5
iostat是含在套裝systat中的,可以用yum -y install systat來安裝。
常關注的參數:
如果%util接近100%,說明産生的i/o請求太多,i/o系統已經滿負荷,該磁盤可能存在瓶頸。
如果idle小于70%,i/o的壓力就比較大了,說明讀取程序中有較多的wait。
4、檢視linux系統中某目錄的大小:
du -sh /root
如發現某個分區空間接近用完,可以進入該分區的挂載點,用以下指令找出占用空間最多的檔案或目錄,然後按照從大到小的順序,找出系統中占用最多空間的前10個檔案或目錄:
du -cksh *|sort -rn|head -n 10
############################################ 檢視平均負載 ####################################
有時候系統響應很慢,但又找不到原因,這時就要檢視平均負載了,看它是否有大量的程序在排隊等待。
最簡單的指令:
uptime
檢視過去的1分鐘、5分鐘和15分鐘内程序隊列中的平均程序數量。
還有動态指令:
top
我們隻關心以下部分:
top - 21:33:09 up 1:00, 1 user, load average: 0.00, 0.01, 0.05
如果每個邏輯cpu目前的活動程序不大于3,則系統性能良好;
如果每個邏輯cpu目前的活動程序不大于4,表示可以接受;
如果每個邏輯cpu目前的活動程序大于5,則系統性能問題嚴重。
一般計算方法:負載值/邏輯cpu個數
還可以結合vmstat指令來判斷系統是否繁忙,其中:
procs
r:等待運作的程序數。
b:處在非中斷睡眠狀态的程序數。
w:被交換出去的可運作的程序數。
memeory
swpd:虛拟記憶體使用情況,機關為kb。
free:空閑的記憶體,機關為kb。
buff:被用來作為緩存的記憶體數,機關為kb。
swap
si:從磁盤交換到記憶體的交換頁數量,機關為kb。
so:從記憶體交換到磁盤的交換頁數量,機關為kb。
io
bi:發送到塊裝置的塊數,機關為kb。
bo:從塊裝置接受的塊數,機關為kb。
system
in:每秒的中斷數,包括時鐘中斷。
cs:每秒的環境切換次數。
cpu
按cpu的總使用百分比來顯示。
us:cpu使用時間。
sy:cpu系統使用時間。
id:閑置時間。
标準情況下r和b的值應該為:
r<5,b=0
假設輸出的資訊中:
如果r經常大于3或4,且id經常少于50,表示cpu的負荷過重。
pi、po長期不等于0,表示記憶體不足。
bi經常不等于0,且在b中的隊列大于2或3,表示io的性能不好。
################################# 其他參數 #####################################
檢視核心版本号:
uname -a
簡化指令:
uname -r
檢視系統是32位還是64位的:
file /sbin/init
檢視發行版:
cat /etc/issue
或lsb_release -a
檢視系統已載入的相關子產品:
lsmod
檢視pci設定:
lspci