系统优化必装工具包
    valgrind
    telnet
    lsof
    iostat
    sar
    sysstat
    util-linux
    tcpdump.x86_64

    查看cpu个数

    1. [root@cobber-server ~]# cat /proc/cpuinfo |grep "processor" |wc -l
    2. 2
    3. [root@cobber-server ~]#

    vmstat

    1. procs
    2. r 列: 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU核数,说明CPU不足,需要增加CPU,其中的CPU指的是逻辑CPU
    3. b 列表示在等待的资源的进程数目
    4. memory列:
    5. swpd:是内存切换到交换分区的量(单位为k),如果swpd值不为0,或者较大,只要si so 长期为0,不会影响系统性能
    6. free 表示当前空间的物理内存数量(单位为k
    7. buff 表示buff chache 的内存数量,一般对块设备的读写才要缓冲
    8. cache 表示page cached 的内存数量,一般作为文件系统的cached,频繁访问的文件都会被放入cached中,当物理内存过小或不够使用时,其会释放
    9. swap列:
    10. si 每秒由交换分区写入内存的大小
    11. so :每秒由内存写入交换分区的大小
    12. 如果内存足够使用,则交换分区的写入和写出都为0,只有当这两个值长期大于0,则表示系统内存不够。
    13. IO 列:
    14. BI :表示从块设备读入数据的总量(即读磁盘)(块/s
    15. BO:表示写入块设置的数据总量(即写磁盘)(块/s
    16. system 列: 显示采集间隔内发生的中断数
    17. in 列表示在某一时间间隔内观察到每秒设备中断数
    18. cs 列表示每秒产生的上下文切换次数
    19. 如果这两个值比较大,表示内核消耗CPU比较厉害
    20. CPU列: 显示了CPU的使用状态
    21. us 用户进程消耗CPU的时间百分比,如果长期大于50%,则需要优化程序算法
    22. sy 显示了系统(内核)进程消耗CPU的时间百分比,如果大于80%,则说明可能CPU资源不足
    23. id 显示了CPU 处于空闲时间的百分比
    24. wa :显示了IO 等待所占用的CPU时间百分比,如果长期高于20%,则有问题
    25. 扩展:
    26. 参数选项 解释说明
    27. -a 显示活跃和非活跃期内存
    28. -f 显示从系统启动至今的fork 进程数量
    29. -m 显示slab信息
    30. -n 只在开始时显示一次个字段的名称
    31. -s 显示内存相关统计信息及多种系统活动数量(重点)
    32. -d 显示磁盘相关统计信息
    33. -p 显示指定磁盘分区统计信息
    34. -S 使用指定单位显示,有k,K,m,M,分别代表1000,1024,1000000,1048576字节,默认单位为k(重点)
    35. -t 统计信息带上时间戳

    查看内存使用

    1. [root@cobber-server ~]# vmstat 5 5 -S M -a
    2. procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
    3. r b swpd free inact active si so bi bo in cs us sy id wa st
    4. 1 0 0 1505 162 203 0 0 43 9 68 80 0 0 99 0 0
    5. 0 0 0 1505 162 203 0 0 0 0 27 36 0 0 100 0 0
    6. 0 0 0 1505 162 203 0 0 0 0 27 36 0 0 100 0 0
    7. 0 0 0 1505 162 203 0 0 0 0 112 120 0 0 100 0 0
    8. 0 0 0 1505 162 203 0 0 0 0 206 218 0 0 100 0 0
    9. [root@cobber-server ~]#
    1. [root@cobber-server ~]# vmstat -d 1 -S M
    2. disk- ------------reads------------ ------------writes----------- -----IO------
    3. total merged sectors ms total merged sectors ms cur sec
    4. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    5. sr0 18 0 2056 334 0 0 0 0 0 0
    6. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    7. dm-1 88 0 4408 299 0 0 0 0 0 0
    8. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    9. sr0 18 0 2056 334 0 0 0 0 0 0
    10. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    11. dm-1 88 0 4408 299 0 0 0 0 0 0
    12. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    13. sr0 18 0 2056 334 0 0 0 0 0 0
    14. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    15. dm-1 88 0 4408 299 0 0 0 0 0 0
    16. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    17. sr0 18 0 2056 334 0 0 0 0 0 0
    18. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    19. dm-1 88 0 4408 299 0 0 0 0 0 0
    20. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    21. sr0 18 0 2056 334 0 0 0 0 0 0
    22. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    23. dm-1 88 0 4408 299 0 0 0 0 0 0
    24. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    25. sr0 18 0 2056 334 0 0 0 0 0 0
    26. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    27. dm-1 88 0 4408 299 0 0 0 0 0 0
    28. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    29. sr0 18 0 2056 334 0 0 0 0 0 0
    30. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    31. dm-1 88 0 4408 299 0 0 0 0 0 0
    32. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    33. disk- ------------reads------------ ------------writes----------- -----IO------
    34. total merged sectors ms total merged sectors ms cur sec
    35. sr0 18 0 2056 334 0 0 0 0 0 0
    36. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    37. dm-1 88 0 4408 299 0 0 0 0 0 0
    38. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    39. sr0 18 0 2056 334 0 0 0 0 0 0
    40. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    41. dm-1 88 0 4408 299 0 0 0 0 0 0
    42. sda 8732 11 577845 36226 1527 353 118422 83915 0 18
    43. sr0 18 0 2056 334 0 0 0 0 0 0
    44. dm-0 8317 0 553798 35714 1870 0 114286 102962 0 18
    45. dm-1 88 0 4408 299 0 0 0 0 0 0

    yum -y install sysstat

    1. [root@cobber-server ~]# mpstat
    2. Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
    3. 04:54:16 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
    4. 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
    5. [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请求的时间百分比。
    1. [root@cobber-server ~]# mpstat -P ALL
    2. Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
    3. 04:56:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
    4. 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
    5. 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
    6. 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
    7. [root@cobber-server ~]# mpstat 1 10
    8. Linux 3.10.0-1127.19.1.el7.x86_64 (cobber-server) 10/08/2020 _x86_64_ (2 CPU)
    9. 04:56:25 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
    10. 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
    11. 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
    12. 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
    13. 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
    14. 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
    15. 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
    16. 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
    17. 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
    18. 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
    19. 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
    20. Average: all 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00 99.95
    21. [root@cobber-server ~]#

    查看进程在哪个cpu上运行

    1. [root@cobber-server ~]# ps axu | grep sshd
    2. root 1108 0.0 0.2 112924 4324 ? Ss 15:34 0:00 /usr/sbin/sshd -D
    3. root 1389 0.0 0.2 158928 5612 ? Ss 15:36 0:00 sshd: root@pts/0
    4. root 16117 0.0 0.0 112812 968 pts/0 S+ 17:00 0:00 grep --color=auto sshd
    5. [root@cobber-server ~]# taskset -cp 1108
    6. pid 1108's current affinity list: 0,1
    7. [root@cobber-server ~]#