Linux系统性能评估
10-05
一、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)=0
Swap 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命令在某个系统的输出结果: