查看CPU状态 :free ), iostat , mpstat ), ps , sar, top ,oprofile(工具集)
查看CPU基本信息:
# 查看物理CPU个数
[root@localhost ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
4
# 查看每个物理CPU中core的个数(即核数)
[root@localhost ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 2
# 查看逻辑CPU的个数
[root@localhost ~]# cat /proc/cpuinfo| grep "processor"| wc -l
8
#查看CPU信息(型号)
[root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
[root@localhost ~]# cat /proc/interrupts | grep timer ; sleep 10; cat /proc/interrupts | grep timer
0: 125 0 0 0 0 0 0 0 IO-APIC-edge timer
LOC: 596005 554290 587434 619836 608904 583529 574773 757217 Local timer interrupts
0: 125 0 0 0 0 0 0 0 IO-APIC-edge timer
LOC: 596049 554614 587481 620225 608965 583564 574837 757314 Local timer interrupts
Linux的的性能工具:CPU
(1)的vmstat
[root@localhost ~]# 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 7140284 948 662820 0 0 0 1 25 45 0 0 100 0 0
输出字段意义:
特效
如:等待运行的进程数越多,意味着CPU非常繁忙另外,如果该参数长期大于和等于逻辑CPU个数,则CPU资源可能存在较大的瓶颈。
B:处在非中断睡眠状态的进程数意味着进程被阻塞主要是指被资源阻塞的进程对列数(比如IO资源,页面调度等),当这个值较大时,需要根据应用程序来进行分析,比如数据库产品,中间件应用等。
记忆
swpd:已使用的虚拟内存大小如果虚拟内存使用较多,可能系统的物理内存比较吃紧,需要采取合适的方式来减少物理内存的使用.swapd不为0时,并不意味物理内存吃紧,如果swapd没变化,SI,SO的值长期为0,这也是没有问题的
免费:空闲的物理内存的大小
抛光轮:用来做缓冲区(缓存,主要用于块设备缓存)的内存数,单位:KB
缓存:用来做缓存(缓存,主要用于缓存文件)的内存,单位:KB
交换
si:从磁盘交换到swap虚拟内存的交换页数量,单位:KB /秒。如果这个值大于0,表示物理内存不够用或者内存泄露了
so:从交换虚拟内存交换到磁盘的交换页数量,单位:KB /秒,如果这个值大于0,表示物理内存不够用或者内存泄露了
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。
IO
BI:每秒从块设备接收到的块数,单位:块/秒也就是读块设备。
博:每秒发送到块设备的块数,单位:块/秒也就是写块设备。
系统
在:每秒的中断数,包括时钟中断
CS:每秒的环境(上下文)切换次数比如我们调用系统函数,就要进行上下文切换,而过多的上下文切换会浪费较多的CPU资源,这个数值应该越小越好。
中央处理器
我们:用户CPU时间(非内核进程占用时间)(单位为百分比)我的值比较高时,说明用户进程消耗的CPU时间多
SY:系统使用的CPU时间(单位为百分比).SY的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。
ID:空闲的CPU的时间(百分比)。
WA:等待IO的CPU时间,这个值为0。这个指标意味着CPU在等待硬盘读写操作的时间,用百分比表示等越越大则机器IO性能就越差说明IO等待比较严重,这。可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。
ST:重虚拟设备中获取的时间%
[root@localhost ~]# vmstat -h
Usage:
vmstat [options] [delay [count]]
Options:
-a, --active 显示活跃和非活跃内存
-f, --forks 显示从系统启动至今的fork数量
-m, --slabs 显示slabinfo
-n, --one-header 只在开始时显示一次各字段名称
-s, --stats 显示内存相关统计信息及多种系统活动数量。
-d, --disk 显示磁盘相关统计信息。
-D, --disk-sum summarize disk statistics
-p, --partition <dev> 显示指定磁盘分区统计信息 例如: vmstat -p /dev/sda1
-S, --unit <char> define display unit
-w, --wide
例如:
[root@localhost ~]# vmstat -p /dev/sda1 | tee vmstat_sda1.txt
sda1 reads read sectors writes requested writes
1075 53380 1040 4162