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