一、Linux查看系統cpu個數、核心數、線程數
(1)、查看物理cpu個數
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
(2)、查看核心數量
grep 'core id' /proc/cpuinfo | sort -u | wc -l
(3)、查看線程數(邏輯cpu)
grep 'processor' /proc/cpuinfo | sort -u | wc -l
每個物理CPU中邏輯CPU(可能是core, threads或both)的個數:
grep 'siblings' /proc/cpuinfo | sort -u
命令執行結果如圖所示,根據結果得知,此服務器有1個cpu,6個核心,每個核心2線程,共12線程。
通過dmidecode可以查看cpu型號,根據型號也可以查到這個cpu的具體參數
二、Linux服務器性能評估(cpu,內存,磁盤IO)
(1)、影響Linux服務器性能的因素
a、 操作系統級
CPU
內存
磁盤I/O帶寬
網絡I/O帶寬
b、程序應用級
(2)、系統性能評估標准
影響性能因素 評判標准 好 壞 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 內存 Swap In(si)=0Swap Out(so)=0
Per CPU with 10 page/s More Swap In & Swap Out 磁盤 iowait % < 20% iowait % =35% iowait % >= 50%其中:
%user:表示CPU處在用戶模式下的時間百分比。
%sys:表示CPU處在系統模式下的時間百分比。
%iowait:表示CPU等待輸入輸出完成時間的百分比。
swap in:即si,表示虛擬內存的頁導入,即從SWAP DISK交換到RAM
swap out:即so,表示虛擬內存的頁導出,即從RAM交換到SWAP DISK。
(3)、系統性能分析工具
1.常用系統命令
Vmstat、sar、iostat、netstat、free、ps、top等
2.常用組合方式
o 用vmstat、sar、iostat檢測是否是CPU瓶頸
o 用free、vmstat檢測是否是內存瓶頸
o 用iostat檢測是否是磁盤I/O瓶頸
o 用netstat檢測是否是網絡帶寬瓶頸
(4)、Linux性能評估與優化
1. 系統整體性能評估(uptime命令)
[root@server ~]# uptime
16:38:00 up 118 days, 3:01, 5 users, load average: 1.22, 1.02, 0.91
這裡需要注意的是:load average這個輸出值,這三個值的大小一般不能大於系統CPU的個數,例如,本輸出中系統有8個CPU,如果load average的三個值長期大於8時,說明CPU很繁忙,負載很高,可能會影響系統性能,但是偶爾大於8時,倒不用擔心,一般不會影響系統性能。相反,如 果load average的輸出值小於CPU的個數,則表示CPU還有空閒的時間片,比如本例中的輸出,CPU是非常空閒的。
2. CPU性能評估
(1)利用vmstat命令監控系統CPU
該命令可以顯示關於系統各種資源之間相關性能的簡要信息,這裡我們主要用它來看CPU一個負載情況。
下面是vmstat命令在某個系統的輸出結果: