Linux性能分析—CPU篇
說到性能分析,基本上就是 CPU、內(nèi)存、磁盤 IO 以及網(wǎng)絡(luò)這幾個部分,本文先來看 CPU 這個部分。
一、CPU 基礎(chǔ)信息
進(jìn)行性能分析之前,首先得知道 CPU 有哪些信息,使用lscpu命令查看 CPU 配置信息。在 Linux 下,類似 lsxxx 這樣的命令都是用來查看基本信息的,如 ls 查看當(dāng)前目錄文件信息,lscpu 就用來查看 CPU 信息,類似還有 lspci 查看 PCI 信息。
- Architecture: #架構(gòu)?
- CPU(s): #邏輯cpu顆數(shù)?
- Thread(s) per core: #每個核心的線程數(shù)量?
- Core(s) per socket: #每顆物理CPU的核數(shù)
- CPU socket(s): #物理CPU個數(shù)?
- Vendor ID: #cpu廠商ID?
- CPU family: #cpu系列?
- Model: #型號?
- Stepping: #步進(jìn)?
- CPU MHz: #cpu主頻?
- Virtualization: #cpu支持的虛擬化技術(shù)?
- L1d cache: #一級緩存(google了下,這具體表示表示cpu的L1數(shù)據(jù)緩存)?
- L1i cache: #一級緩存(具體為L1指令緩存)?
- L2 cache: #二級緩存
二、cpu核數(shù)計算
- CPU總核數(shù) =物理CPU個數(shù) * 每顆物理CPU的核數(shù) =2*4=8
- 總邏輯CPU數(shù)=物理CPU個數(shù) * 每顆物理CPU的核數(shù) * 超線程數(shù)* 復(fù)用比=2*4*2=16
一個核心就是一個物理線程,英特爾有個超線程技術(shù)可以把一個物理線程模擬出兩個線程來用,充分發(fā)揮CPU性能。
三、CPU 使用情況分析
知道了 CPU 的基本信息,我們就可以使用另外的命令來對 CPU 的使用情況分析一通了。top命令相信大家對下面這玩意不陌生,Windows 的任務(wù)管理器,top 的作用和它是一樣的。
?
我們重點關(guān)注這么幾個字段:
1)load average:三個數(shù)字分別表示最近 1 分鐘,5 分鐘和 15 分鐘的負(fù)載,數(shù)值越大負(fù)載越重。一般要求不超過核數(shù),比如對于單核情況要 < 1。如果機(jī)器長期處于高于核數(shù)的情況,說明機(jī)器 CPU 消耗嚴(yán)重了。
2)%Cpu(s):表示當(dāng)前 CPU 的使用情況,如果要查看所有核(邏輯核)的使用情況,可以按下數(shù)字 “1” 查看。這里有幾個參數(shù),表示如下:
- - us 用戶空間占用 CPU 時間比例
- - sy 系統(tǒng)占用 CPU 時間比例
- - ni 用戶空間改變過優(yōu)先級的進(jìn)程占用 CPU 時間比例
- - id CPU 空閑時間比
- - wa IO等待時間比(IO等待高時,可能是磁盤性能有問題了)
- - hi 硬件中斷
- - si 軟件中斷
- - st steal time
3)每個進(jìn)程的使用情況
這里可以羅列每個進(jìn)程的使用情況,包括內(nèi)存和 CPU 的,如果要看某個具體的進(jìn)程,可以使用 top -p pid 查看。
總結(jié)
以上是生活随笔為你收集整理的Linux性能分析—CPU篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系列10—消息中间件
- 下一篇: Linux Ubuntu使用技巧