天天看點

linux伺服器性能檢視

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

繼續閱讀