Linux內存性能指標、CPU性能指標


內存性能指標

內存基礎概念

先執行一下 top 命令,看結果中關於內存的相關部分


# top

 

 

其中的 VIRTRESSWAP 都是什么呢?

分別是下面的3個概念:

物理內存 Resident - RES

實際的內存空間 RAM

交換區 Swapped - SWAP

當物理內存不足時,操作系統會把內存中不常用的頁換出到磁盤空間

當被換出的頁需要被訪問時,再換入到物理內存

所以交換區就是用來臨時存放內存中不常用的內容的,感覺就想內存的一個小倉庫

虛擬內存 Virtual - VIRT


虛擬內存 = 物理內存 + 交換區

程序操作內存時,實際就是操作虛擬內存中的地址,操作系統再負責映射到物理地址,或者交換區

快速了解內存狀態


# free

 



主要指標

total - 物理內存總大小

used - 已經使用的物理內存大小

free - 空閑的物理內存

shared - 多個進程共享內存的大小

buffers/cached - 做為緩存的內存大小

swap - 交互空間的使用狀態

關於內存的幾個常見問題:

1、空閑空間少,是不是內存不夠了?

其實linux中空閑的物理空間經常是很少的,和linux使用內存的思路有關

linux會盡量提高內存使用率,經常會把磁盤上的內容緩存到內存,用來加速

linux認為內存閑着也是閑着,還不如拿來做緩存

當內存不足時,linux就會釋放緩存部分,讓給真正需要的程序使用

2、buffer 和 cache 是什么區別?

buffer 緩存的是磁盤文件的元數據,例如文件屬性、目錄結構等等

cache 緩存的是真正的文件內容

 

3、如何判斷內存真正不足?

內存不足主要有2個明顯的表現

(1)持續的內存換入換出

(2)較多的主缺頁中斷

主缺頁中斷的概念:

缺頁中斷包含主/次缺頁中斷

次缺頁中斷,是在內存中可以找到目標頁

主缺頁中斷,是在內存中找不到,需要到磁盤中找

所以較多的主缺頁中斷意味着較多的訪問磁盤

可以通過 sar 命令查看指標

# sar -B 1 3

 



pgpgin/pgpgout 就是內存的換入換出

fault 次缺頁中斷

majflt 主缺頁中斷

vmstat 命令也可以查看一些內存信息

# vmstat 1 5

 



memory 部分是內存信息

si/so 是交換區的換入換出

補充技巧

執行top命令后,通常不會顯示SWAP列,需要自己指定顯示

在top的界面中點擊‘f’,進入列編輯模式,按下字母‘p’, 會看到SWAP列被選中,然后按回車鍵返回top界面,SWAP列便顯示出來了

CPU 性能指標

CPU性能指標可以從兩方面來看:靜態動態

靜態指標主要包括:

CPU的型號、主頻、核數、cache等

動態指標主要包括:

CPU的平均負載狀況、CPU的使用率、最耗CPU的進程有哪些?

查看靜態信息:

在服務器運行過程中,一般我們比較少關注CPU的靜態信息,但我們剛開始拿到一台服務器時,就會很關心靜態信息了

好根據這些信息判斷分配給這台服務器多大的壓力等

通過 /proc/cpuinfo 文件來查看

 



查看動態信息:


服務器變慢時,通常會先查看下CPU的負載是否過高,如果高了,再看下是哪些進程最耗費CPU,CPU使用率也是重要指標,讓我們知道CPU消耗在哪些部分

01、CPU負載狀況

通過負載信息能夠直觀的了解到CPU的壓力狀況,linux會給出最近1分鍾、5分鍾、15分鍾的平均負載值

可以通過 top 命令查看

 

uptime 命令更加簡潔直觀

 

查看到負載值后,怎么判斷CPU的負載是否過高呢?

有一個經驗型的標准:

CPU負載上限值 = CPU的核數 * 4

例如是4核CPU,那么CPU的負載最好不要超過16,否則,CPU的壓力就很大了

好比一個超市,有4個收銀台,如果有16個顧客在排隊結賬,每個窗口4個人,顧客可以接受,收銀員也不會感覺壓力很大

02、耗費CPU的主要進程

發現CPU負載過高后,我們肯定想知道是誰把CPU搞的這么忙


通過 top 命令查看

ps 命令根據CPU使用量對進程排序

# ps -aux --sort -pcpu | less

03、CPU使用率

通過 top 命令查看

還可以查看每個核的使用率狀況,執行 top 后按數字1鍵,就可以列出每個cpu的使用率

 



其中有幾個主要信息項

id - CPU的空閑度

us - 用戶進程對CPU的使用率

sy - 系統進程對CPU的使用率
 
wa - IO等待情況

st - 如果系統中運行了虛擬機,此項顯示虛機使用CPU的情況


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM