系统优化必装工具包
valgrind
telnet
lsof
iostat
sar
sysstat
util-linux
tcpdump.x86_64
查看cpu个数
[root@cobber-server ~]# cat /proc/cpuinfo |grep "processor" |wc -l
2
[root@cobber-server ~]#
vmstat
procs 列 :
r 列: 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU核数,说明CPU不足,需要增加CPU,其中的CPU指的是逻辑CPU
b 列表示在等待的资源的进程数目
memory列:
swpd:是内存切换到交换分区的量(单位为k),如果swpd值不为0,或者较大,只要si so 长期为0,不会影响系统性能
free 表示当前空间的物理内存数量(单位为k)
buff 表示buff chache 的内存数量,一般对块设备的读写才要缓冲
cache 表示page cached 的内存数量,一般作为文件系统的cached,频繁访问的文件都会被放入cached中,当物理内存过小或不够使用时,其会释放
swap列:
si : 每秒由交换分区写入内存的大小
so :每秒由内存写入交换分区的大小
如果内存足够使用,则交换分区的写入和写出都为0,只有当这两个值长期大于0,则表示系统内存不够。
IO 列:
BI :表示从块设备读入数据的总量(即读磁盘)(块/s)
BO:表示写入块设置的数据总量(即写磁盘)(块/s)
system 列: 显示采集间隔内发生的中断数
in 列表示在某一时间间隔内观察到每秒设备中断数
cs 列表示每秒产生的上下文切换次数
如果这两个值比较大,表示内核消耗CPU比较厉害
CPU列: 显示了CPU的使用状态
us: 用户进程消耗CPU的时间百分比,如果长期大于50%,则需要优化程序算法
sy: 显示了系统(内核)进程消耗CPU的时间百分比,如果大于80%,则说明可能CPU资源不足
id : 显示了CPU 处于空闲时间的百分比
wa :显示了IO 等待所占用的CPU时间百分比,如果长期高于20%,则有问题
扩展:
参数选项 解释说明
-a 显示活跃和非活跃期内存
-f 显示从系统启动至今的fork 进程数量
-m 显示slab信息
-n 只在开始时显示一次个字段的名称
-s 显示内存相关统计信息及多种系统活动数量(重点)
-d 显示磁盘相关统计信息
-p 显示指定磁盘分区统计信息
-S 使用指定单位显示,有k,K,m,M,分别代表1000,1024,1000000,1048576字节,默认单位为k(重点)
-t 统计信息带上时间戳
查看内存使用
[root@cobber-server ~]# vmstat 5 5 -S M -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 1505 162 203 0 0 43 9 68 80 0 0 99 0 0
0 0 0 1505 162 203 0 0 0 0 27 36 0 0 100 0 0
0 0 0 1505 162 203 0 0 0 0 27 36 0 0 100 0 0
0 0 0 1505 162 203 0 0 0 0 112 120 0 0 100 0 0
0 0 0 1505 162 203 0 0 0 0 206 218 0 0 100 0 0
[root@cobber-server ~]#
[root@cobber-server ~]# vmstat -d 1 -S M
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
sda 8732 11 577845 36226 1527 353 118422 83915 0 18
sr0 18 0 2056 334 0 0 0 0 0 0
dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
dm-1 88 0 4408 299 0 0 0 0 0 0
yum -y install sysstat
[root@cobber-server ~]# mpstat
Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
04:54:16 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:54:16 PM all 0.20 0.07 0.32 0.13 0.00 0.00 0.00 0.00 0.00 99.27
[root@cobber-server ~]#
CPU | 处理器编号,all表示统计信息计算为所有处理器之间的平均值 |
---|---|
%usr | 显示在用户级(应用程序)执行时发生的CPU利用率百分比。也叫用户态 |
%nice | 显示以优先级较高的用户级别执行时发生的CPU利用率百分比。 |
%sys | 显示在系统级(内核)执行时发生的CPU利用率百分比。也叫内核态 注意:这不包括维护硬件和软件的时间中断。 |
%iowait | 显示系统具有未完成磁盘I / O请求的CPU或CPU空闲的时间百分比。 |
%irq | 显示CPU或CPU用于服务硬件中断的时间百分比。 |
%soft | 显示CPU或CPU用于服务软件中断的时间百分比。 |
%steal | 显示在虚拟机管理程序服务另一个虚拟处理器时虚拟CPU或CPU无意中等待的时间百分比。 |
%guest | 显示CPU或CPU运行虚拟处理器所花费的时间百分比。 |
%gnice | 显示CPU或CPU运行来宾所花费的时间百分比。 |
%idle | 显示CPU或CPU空闲且系统没有未完成的磁盘I / O请求的时间百分比。 |
[root@cobber-server ~]# mpstat -P ALL
Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
04:56:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:56:13 PM all 0.20 0.07 0.32 0.13 0.00 0.00 0.00 0.00 0.00 99.28
04:56:13 PM 0 0.21 0.07 0.27 0.13 0.00 0.00 0.00 0.00 0.00 99.32
04:56:13 PM 1 0.19 0.06 0.37 0.13 0.00 0.01 0.00 0.00 0.00 99.25
[root@cobber-server ~]# mpstat 1 10
Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
04:56:25 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:56:26 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:27 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:28 PM all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:56:29 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:30 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:31 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:32 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:33 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:34 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:56:35 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00 99.95
[root@cobber-server ~]#
查看进程在哪个cpu上运行
[root@cobber-server ~]# ps axu | grep sshd
root 1108 0.0 0.2 112924 4324 ? Ss 15:34 0:00 /usr/sbin/sshd -D
root 1389 0.0 0.2 158928 5612 ? Ss 15:36 0:00 sshd: root@pts/0
root 16117 0.0 0.0 112812 968 pts/0 S+ 17:00 0:00 grep --color=auto sshd
[root@cobber-server ~]# taskset -cp 1108
pid 1108's current affinity list: 0,1
[root@cobber-server ~]#