CPU性能分析
CPU性能分析工具
lscpu:查看CPU硬件信息
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 58
Model name: Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
Stepping: 0
CPU MHz: 2999.498
BogoMIPS: 6000.00
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 25600K
NUMA node0 CPU(s): 0-3
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep arat
lscpu
:命令可以查看当前CPU配置信息,包括处理器型号以及核心数缓存等信息,CPU相当于人体的大脑,在系统中起着非常重要的作用,CPU性能越高,处理任务的能力就越强。
sar/top/uptime/mpstat/vmstat:CPU性能分析工具
sar命令
sar
命令是系统管理员必须掌握的一项重要技能,sar
命令可以用来分析几乎所有的系统信息,这就要求我们不得不掌握。
- 安装sar命令
yum -y install sysstat
- 使用sar命令分析CPU负载
sar -u
[root@domainX ~]# sar -u
Cannot open /var/log/sa/sa30: No such file or directory
如果出现以上的报错,是因为sar命令还没有创建当天的文件,sar会将数据写入到/var/log/sa目录下,如果需要也可以从该目录下读取响应时间段的日志进行分析,当出现以上报错时执行
sar -o 1
来创建相应文件即可,创建文件后可以正常使用该命令。
sar -u
Linux 3.10.0-693.el7.x86_64 (domainX.com) 01/30/2019 _x86_64_ (4 CPU)
06:34:32 AM CPU %user %nice %system %iowait %steal %idle
06:34:33 AM all 5.00 0.00 3.75 0.00 0.00 91.25
06:34:34 AM all 4.24 0.00 4.24 0.00 0.00 91.52
06:34:35 AM all 4.77 0.00 3.52 0.00 0.00 91.71
06:34:36 AM all 4.51 0.00 3.51 0.00 0.00 91.98
06:34:37 AM all 5.01 0.00 3.51 0.00 0.00 91.48
06:34:37 AM all 6.84 0.00 5.70 0.00 0.00 87.45
06:40:01 AM all 4.84 0.00 3.53 0.00 0.00 91.62
Average: all 4.84 0.00 3.54 0.00 0.00 91.61
- %user 用户模式下消耗的CPU时间的比例;
- %nice 通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例
- %system 系统模式下消耗的CPU时间的比例;
- %iowait CPU等待磁盘I/O导致空闲状态消耗的时间比例;
- %steal 利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例;
- %idle CPU空闲时间比例。
sar -u 执行时长 执行次数
:使用详细参数可以获得自己需要的详细信息,如果只输入一个参数,将会一直执行。
top命令
top命令应该是工作中使用频率较高的命令,主要可以用来分析当前系统上运行的进程占用CPU内存百分比等详情,要注意的是top命令是动态的。
top
top - 06:59:35 up 5 days, 1:50, 1 user, load average: 1.01, 1.03, 0.87
Tasks: 196 total, 1 running, 195 sleeping, 0 stopped, 0 zombie
%Cpu0 : 4.3 us, 4.6 sy, 0.0 ni, 91.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 8.0 us, 2.3 sy, 0.0 ni, 89.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 4.0 us, 4.3 sy, 0.0 ni, 91.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 3.3 us, 3.0 sy, 0.0 ni, 93.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3865308 total, 219532 free, 903832 used, 2741944 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 2461924 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18216 polkitd 20 0 618040 15924 5344 S 7.0 0.4 404:15.95 polkitd
4564 vnc 20 0 3708324 387844 70204 S 6.6 10.0 340:10.11 gnome-shell
729 dbus 20 0 63620 3752 1872 S 2.3 0.1 139:20.52 dbus-daemon
3904 root 20 0 396292 6064 3184 S 2.0 0.2 98:04.54 accounts-daemon
4687 vnc 20 0 456552 3364 2736 S 0.7 0.1 37:05.68 gsd-account
4700 vnc 20 0 712568 15436 9560 S 0.3 0.4 1:38.53 gsd-color
1 root 20 0 193920 6984 4048 S 0.0 0.2 0:19.82 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:04.29 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:29.91 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 3:32.82 rcu_sched
10 root rt 0 0 0 0 S 0.0 0.0 0:01.54 watchdog/0
11 root rt 0 0 0 0 S 0.0 0.0 0:01.48 watchdog/1
12 root rt 0 0 0 0 S 0.0 0.0 0:29.17 migration/1
13 root 20 0 0 0 0 S 0.0 0.0 0:04.12 ksoftirqd/1
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
16 root rt 0 0 0 0 S 0.0 0.0 0:01.51 watchdog/2
17 root rt 0 0 0 0 S 0.0 0.0 0:29.48 migration/2
18 root 20 0 0 0 0 S 0.0 0.0 0:03.82 ksoftirqd/2
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H
21 root rt 0 0 0 0 S 0.0 0.0 0:01.50 watchdog/3
22 root rt 0 0 0 0 S 0.0 0.0 0:29.93 migration/3
23 root 20 0 0 0 0 S 0.0 0.0 0:04.09 ksoftirqd/3
25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/3:0H
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
29 root 20 0 0 0 0 S 0.0 0.0 0:00.28 khungtaskd
30 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
31 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
32 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
33 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
34 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md
40 root 20 0 0 0 0 S 0.0 0.0 0:00.14 kswapd0
41 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
42 root 39 19 0 0 0 S 0.0 0.0 0:01.88 khugepaged
43 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto
在top动态界面中按大写的P可以以进程的CPU占用从高到低进行排序,方便我们在CPU使用率非常高的情况下快速定位到是那个进程导致的,按大写的M将会以进程内存占用百分比由高到低进行排序,按1将会显示当前所有CPU的使用情况。顺便说下这个命令吧,也比较常用。
ps -aux --sort -pcpu
是按照CPU占用进行排序。
uptime命令
uptime命令非常简单,只是用来看系统运行的负载情况以及时间,没什么可以详细讲解的。需要我们注意的是load average给出的三个值分别代表系统1分钟、5分钟以及15分钟的负载情况,如果第一个值负载很低,第三个值负载很高,那就表明15分钟前系统的负载很高,但是现在已经恢复了,具体数值多少用来评价负载的高低呢,这个没有一个准确的数字,正常情况下是和CPU核心数成正比的,例如:4C服务器当负载达到4时已经非常高了。
mpstat命令
使用此命令得到的数据和以上数据信息类似,这里也就不详细解释数据的参数了。mpstat
[root@domainX ~]# mpstat
Linux 3.10.0-693.el7.x86_64 (domainX.com) 01/30/2019 _x86_64_ (4 CPU)
07:04:31 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
07:04:31 AM all 3.83 0.00 2.66 0.01 0.00 0.10 0.00 0.00 0.00 93.40
vmstat命令
vmstat命令与mpstat命令类似,vmstat命令也提供了很多重要的系统信息,所以我们需要对输出内容有一定的了解。
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 219660 4708 2737284 0 0 1 2 3 22 4 3 93 0 0
- procs:b这列表示的是不可中断睡眠的进程,这个数值往往与磁盘IO有关。
- system:in/cs数值偏高说明系统繁忙。
- CPU:st资源在虚拟化环境中比较重要,例如st数值偏高可能是物理主机上运行了太多虚拟机导致。
geekbench:CPU压测工具
一个商业化软件,可以对CPU性能进行压测,最终生成web版界面评分,感兴趣的同学可以执行下面的命令在Linux 7系列上进行安装。
sudo yum -y install glibc.i686 libstdc++ libstdc++.i686
sudo wget http://qiniu.pasca.top/Geekbench-4.3.0-Linux.tar.gz
sudo tar xf Geekbench-4.3.0-Linux.tar.gz
cd Geekbench-4.3.0-Linux/
./geekbench_x86_64
CPU性能分析的更多相关文章
- CPU性能分析工具原理
转载请保留以下声明 作者:赵宗晟 出处:https://www.cnblogs.com/zhao-zongsheng/p/13067733.html 很多软件都要做性能分析和性能优化.很多语言都会有他 ...
- AMD Cpu 性能分析
未完待续... 首先,几款APU系列的cpu: A8-: 一款低功耗的移动版处理器,四核心主频最高2.5GHz,二级缓存2MB, 图形核心Radeon R5 内存频率DDR3-1866,热设计功耗12 ...
- Linux vmstat命令--监控CPU 性能分析
top是给Linux设计的.在FreeBSD VM里面的Free概念和其他OS完全不同,使用top查看Free内存对于FreeBSD来说可以说没什么意义.正确的方法是看vmstat. vmstat是V ...
- Linux性能优化:CPU性能分析工具--vmstat
Blog:博客园 个人 目录 参数说明 输出信息说明 procs memory swap io system cpu 示例 vmstat是Virtual Meomory Statistics(虚拟内存 ...
- 性能分析神器VisualVM
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...
- OProfile 性能分析工具
OProfile 性能分析工具 官方网站:http://oprofile.sourceforge.net/news/ oprofile.ko模块本文主要介绍Oprofile工具,适用系统的CPU性能分 ...
- VisualVM 性能分析概述
VisualVM是一个免费的Java应用监控.分析工具. 简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括 ...
- Java application 性能分析分享
性能分析的主要方式 监视:监视是一种用来查看应用程序运行时行为的一般方法.通常会有多个视图(View)分别实时地显示 CPU 使用情况.内存使用情况.线程状态以及其他一些有用的信息,以便用户能很快地发 ...
- Linux下性能分析工具汇总
来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...
随机推荐
- 学习excel的使用技巧四显示正常的数字
记得之前在excel中输入一些数字比如输入手机号 就会变成1.E几类似这种 那么怎样显示正常的数字呢 先选中要操作的输入框 1 找到 数字 这个功能的地方 2 设置为 数值 并且小数点为0 3 ...
- java编程思想(1)--对象导论
对象导论: 1.1 抽象过程 所有的语言都有抽象机制,抽象是解决复杂问题的根本方法.例如:汇编语言是对底层机器的轻微抽象.命令式语言(如:FORTRAN.BASIC.C)又是对汇编语言的抽象. jav ...
- python——数字问题之_ 变量
在交互模式中,最后被输出的表达式结果被赋值给变量 _ ._ 变量应被用户视为只读变量 >>> a=12/2.3 >>> b=1.2 >>> a*b ...
- ABAP-表中数据的横向累加
GLT0 等表中数据的横向累加 ——塞依SAP培训 在 ABAP 的 GLT0.FAGLFLEXT 等余额表中,用诸如 TSL01.TSL02 …… TSL16 等字段记录了 16 个期间的发生额 ...
- TCP与UDP,可靠UDP如何实现
两种协议都是传输层协议,为应用层提供信息载体. TCP协议是基于连接的字节流的可靠协议,有三次握手,四次挥手,超时重传,流量控制(滑动窗口),拥塞控制和差错控制,也正因为有可靠性的保证和控制手段,所以 ...
- springboot+mybatis+freemark+oauth开发环境搭建
一.创建springboot工程 1.环境介绍: a:jdk版本:1.7 b:Springboot版本:1.5.6(使用1.5.9的版本整合mybatis会报错:java.lang.NoClassDe ...
- RDD认知
1.RDD又叫弹性分布式数据集 2.抽象 3.带泛型,支持多种数据类型 4.集合是可以进行分区 例如(1,2,3,4,5,6,7,8,9)这个数组是可以进行分区的(1,2,3) (4,5,6) ( ...
- VUE项目小试牛刀
首先安装webstorm:http://www.jetbrains.com/webstorm/ (推荐) 再安装node.js:https://nodejs.org/en/download/ (必 ...
- 优化linux,安装node环境
就是这样我的心爱的云主机就被攻击了,反正我是很久没宠幸过她,肯定不是我去攻击人家,但是吧昨天就突然来了封邮件,小白一个查不出什么,用了 netsat -na显示所有连接到服务器的活跃的网络连接数,发现 ...
- 虚拟机下 centos7 无法连接网络
[root@localhost ~]# cd /etc/sysconfig/network-scripts [root@localhost network-scripts]# ls ifcfg-ens ...