精华内容
下载资源
问答
  • 一、Linux查看CPU基本信息,可以使用命令: cat /proc/cpuinfo 例如笔者的虚拟机: [root@promote ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 37 model name : ...
    

    一、Linux查看CPU基本信息,可以使用命令:

    cat /proc/cpuinfo

    例如笔者的虚拟机:

    [root@promote ~]# cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 37
    model name : Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
    stepping : 5
    cpu MHz : 2394.049
    cache size : 3072 KB
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    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 up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm ida arat dts
    bogomips : 4788.09
    clflush size : 64
    cache_alignment : 64
    address sizes : 40 bits physical, 48 bits virtual
    power management:

    可见,笔者这台虚拟机,有一个逻辑CPU,主频是2.4。

    延伸:

    processor 逻辑处理器的id。
    physical id 物理封装的处理器的id。
    core id 每个核心的id。
    cpu cores 位于相同物理封装的处理器中的内核数量。
    siblings 位于相同物理封装的处理器中的逻辑处理器的数量。

    二、如何查看CPU逻辑个数

    方法1:

    cat /proc/cpuinfo

    processor : 11
    vendor_id : GenuineIntel
    cpu family : 6
    model : 62
    model name : Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
    stepping : 4
    microcode : 1064
    cpu MHz : 2100.170
    cache size : 15360 KB
    physical id : 0
    siblings : 12
    core id : 5
    cpu cores : 6
    apicid : 11
    initial apicid : 11
    fpu : yes
    fpu_exception : yes
    cpuid level : 13
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
    bogomips : 4200.34
    clflush size : 64
    cache_alignment : 64
    address sizes : 46 bits physical, 48 bits virtual
    power management:

    可以看出有12个逻辑CPU。因为processor从0开始,到11结束,说明有12个。

    方法2:

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

    例如,

    [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
         12  Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz

    可以看到有12个逻辑CPU。

    方法3:

    cat /proc/cpuinfo | grep physical | uniq -c

    例如,

    [root@localhost ~]# cat /proc/cpuinfo | grep physical | uniq -c
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual
    1 physical id : 0
    1 address sizes : 46 bits physical, 48 bits virtual

    也能看出来是12个,不过需要数一下。

    更简单的方法还有:

    (1)、cat /proc/cpuinfo |grep "processor"|wc -l

    [root@localhost ~]# cat /proc/cpuinfo |grep "processor"|wc -l
    12

    直接计算出来是12,都不用数了。

    (2)、cat /proc/cpuinfo |grep "physical id"

    [root@localhost ~]# cat /proc/cpuinfo |grep "physical id"
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0
    physical id : 0

    这个需要数一下才能知道是12。

    (3)、cat /proc/cpuinfo |grep "processor"

    [root@localhost ~]# cat /proc/cpuinfo |grep "processor"
    processor : 0
    processor : 1
    processor : 2
    processor : 3
    processor : 4
    processor : 5
    processor : 6
    processor : 7
    processor : 8
    processor : 9
    processor : 10
    processor : 11

    这个法子不错,直接按处理器排序到11。一眼看出来是12。

    三、如何查看每个CPU核心数。

    有个简单的命令:

    cat /proc/cpuinfo |grep "cores"

    [root@localhost ~]# cat /proc/cpuinfo |grep "cores"
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6
    cpu cores : 6

    可以看到,12个逻辑CPU中,每个CPU都是6核。

    其实在查看CPU基本信息里,有个cpu cores:6,直接就显示是6个。

    四、查看CPU使用率的命令

    top

    延伸:

    使用权限:所有使用者

    使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

    说明:即时显示process的动态

    d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s

    q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行

    c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来

    s :安全模式,将交谈式指令取消,避免潜在的危机

    i :不显示任何闲置(idle)或无用(zombie)的行程

    n :更新的次数,完成后将会退出top

    b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内

    例如,

    Linux的TOP命令查看CPU使用率

    可以看到CPU使用率百分比。Ctrl+C可以退出TOP。 

    也可以使用命令:cat /proc/stat查看。例如:

    [root@localhost ~]# cat /proc/stat
    cpu 27115520 242 4622815 4662722506 12504018 246 96658 0 0
    cpu0 4126112 0 855568 375445053 10489170 76 32126 0 0
    cpu1 2370590 0 291429 389439543 27264 53 6368 0 0
    cpu2 1744553 0 225295 390309511 16425 12 3430 0 0
    cpu3 1451736 0 256399 390612263 9784 1 3077 0 0
    cpu4 911835 0 257589 391264891 7095 0 2000 0 0
    cpu5 706379 0 249467 391522706 5312 0 1582 0 0
    cpu6 11307712 0 976287 378460372 1915138 0 14559 0 0
    cpu7 1069543 0 354557 390922711 9657 0 8219 0 0
    cpu8 827844 0 269726 391350780 5797 5 7072 0 0
    cpu9 1043103 242 351579 390805163 7193 21 8010 0 0
    cpu10 884193 0 298011 391092737 6363 30 6141 0 0
    cpu11 671915 0 236902 391496772 4814 45 4067 0 0
    intr 3434565703 127 0 0 1 1 0 0 0 1 116 247 0 0 0 0 0 0 0 0 0 0 0 138 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13094 0 0 0 0 0 0 0 0 0 0 0 0 0 75734895 117 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 56232283 21536519 17473625 17213052 17575845 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    ctxt 6265469303
    btime 1426551690
    processes 7425277
    procs_running 2
    procs_blocked 0
    softirq 1862968701 0 592789560 785619 277080030 72116042 0 72554297 243093245 7677488 596872420

    可以看到12个CPU使用的情况。

    五、查看CPU运行在多少位下的命令

    getconf LONG_BIT

    [root@localhost ~]# getconf LONG_BIT
    64
    [root@localhost ~]#

    可以看到运行在64位下。

    六、查看CPU是否支持64位运算

    cat /proc/cpuinfo | grep flags | grep ' lm '|wc -l

    [root@localhost ~]# cat /proc/cpuinfo | grep flags | grep ' lm '|wc -l
    12
    [root@localhost ~]#

    等于12,说明12个逻辑CPU都支持64位运算, lm指long mode, 支持lm则是64bit。

    展开全文
  • linux 查看CPU使用

    千次阅读 2019-02-18 11:14:06
    top命令可以看到总体的系统运行状态和cpu使用效率 %us: 表示用户空间程序的cpu使用效率 %sy:表示系统空间程序的cpu使用效率 %ni: 表示用户空间通过nice调度过的程序的cpu使用效率 %id: 空闲cpu %wa:cpu运行时...

    1:top

    top -bn 1 -i -c

    top命令可以看到总体的系统运行状态和cpu使用效率

    %us: 表示用户空间程序的cpu使用效率

    %sy:表示系统空间程序的cpu使用效率

    %ni: 表示用户空间通过nice调度过的程序的cpu使用效率

    %id: 空闲cpu

    %wa:cpu运行时等待io的时间

    %hi: cpu运行过程中硬中断的数量

    %si: cpu处理软中断的数量

    %st: 被虚拟机偷走的cpu

    2: vmstat

    vmstat 1 5

    每秒采集一次cpu使用率,采集5次

    3:sar

    每秒采集一次cpu,共采集5次

    查看某个cpu的使用情况

    sar -P 0 -u 1 5

    进程队列长度和平均负载状态

    sar -q 1 5

    runq-sz:运行队列的长度(等待运行的进程数)

    plist-sz: 进程列表中的进程和线程数

    ldavg-1:最后1分钟的平均负载

    ldavg-5:过去5分钟的平均负载

    ldavg-15:过去15分钟的系统平均负载

    进程创建的平均值和上下文切换的此数

    4:dstat

    每秒cpu使用率情况获取

    最占cpu的进程获取

     

    展开全文
  • Linux查看CPU使用情况

    千次阅读 2019-07-12 13:21:44
    linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。 对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就...

    在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。

    对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~70%,system空间保持在30%,空闲保持在0%~5% 。

    下面总结下查看CPU使用率常用的几个命令。

    1、top

    这个命令很常用,在第三行有显示CPU当前的使用情况。

    [root@li676-235 ~]# top -bn 1 -i -c
    top - 14:19:51 up 138 days, 7:15, 1 user, load average: 0.20, 0.33, 0.39
    Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
    Cpu(s): 4.5%us, 3.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
    Mem: 1014660k total, 880512k used, 134148k free, 264904k buffers
    Swap: 262140k total, 34788k used, 227352k free, 217144k cached
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
    12760 root 20 0 15084 1944 1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c

    如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

    %us:表示用户空间程序的cpu使用率(没有通过nice调度)

    %sy:表示系统空间的cpu使用率,主要是内核程序。

    %ni:表示用户空间且通过nice调度过的程序的cpu使用率。

    %id:空闲cpu

    %wa:cpu运行时在等待io的时间

    %hi:cpu处理硬中断的数量

    %si:cpu处理软中断的数量

    %st:被虚拟机偷走的cpu

    2、vmstat

    之前在本博客中有介绍过vmstat的使用,详细使用和参数介绍参考网址:http://www.sijitao.net/1925.html 。

    [root@li676-235 ~]# vmstat 1 5
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r b swpd free buff cache si so bi bo in cs us sy id wa st
     2 0 34792 68376 147688 356132 16 16 421 385 2 2 5 4 91 1 0
     3 0 34792 97368 147688 326884 0 0 0 0 133 134 15 6 79 0 0
     1 0 34792 62432 147696 360704 0 0 0 88 267 278 63 18 19 0 0
     0 0 34792 97160 147696 326904 0 0 0 0 71 82 12 4 84 0 0
     1 0 34792 56572 147696 364540 0 0 0 4 261 246 61 23 16 0 0

    3、sar

    sar命令语法和vmstat一样。命令不存在时需要安装sysstat包,这个包很有用。

    CPU使用率

    例如每1秒采集一次CPU使用率,共采集5次。

    [root@li676-235 ~]# sar -u 1 5
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    02:41:25 PM CPU %user %nice %system %iowait %steal %idle
    02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69
    02:41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68
    02:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00
    02:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
    02:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00
    Average: all 47.79 0.00 19.48 3.01 0.20 29.52

    和top一样,可以看到所有cpu的使用情况。如果需要查看某颗cpu的使用可以用-P参数。例如指定显示0号cpu 的使用情况。

    [root@li676-235 ~]# sar -P 0 -u 1 5
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    02:45:14 PM CPU %user %nice %system %iowait %steal %idle
    02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00
    02:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00
    02:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00
    02:45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
    02:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
    Average: 0 13.09 0.00 27.81 58.28 0.82 0.00

    进程队列长度和平均负载状态

    例如每1秒采集一次,共采集5次。

    [root@li676-235 ~]# sar -q 1 5
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    02:48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
    02:48:48 PM 1 133 0.34 0.43 0.41
    02:48:49 PM 2 132 0.34 0.43 0.41
    02:48:50 PM 1 133 0.34 0.43 0.41
    02:48:51 PM 2 134 0.31 0.42 0.40
    02:48:52 PM 1 133 0.31 0.42 0.40
    Average: 1 133 0.33 0.43 0.41

    输出项:

    runq-sz:运行队列的长度(等待运行的进程数)

    plist-sz:进程列表中进程(processes)和线程(threads)的数量

    ldavg-1:最后1分钟的系统平均负载(System load average)

    ldavg-5:过去5分钟的系统平均负载

    ldavg-15:过去15分钟的系统平均负载

    进程创建的平均值和上下文切换的次数

    例如每1秒收集一次,共收集5次。

    [root@li676-235 ~]# sar -w 1 5 
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    02:54:03 PM proc/s cswch/s
    02:54:04 PM 1.01 156.57
    02:54:05 PM 1.00 132.00
    02:54:06 PM 2.00 201.00
    02:54:07 PM 2.02 126.26
    02:54:08 PM 2.00 114.00
    Average: 1.61 145.98

    sar命令也可以获取过去指定日期的性能参数。

    [root@li676-235 ~]# sar -u -f /var/log/sa/sa20 
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    01:10:01 PM CPU %user %nice %system %iowait %steal %idle
    01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
    01:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
    01:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
    01:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
    02:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
    02:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
    02:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
    02:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
    02:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
    02:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
    Average: all 26.24 0.00 9.71 3.18 0.13 60.74

    4、mpstat

    这个命令也在sysstat包中,语法类似。

    例如每1秒收集一次,共5次。

    [root@li676-235 ~]# mpstat 1 5
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    03:01:18 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
    03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24
    03:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00
    03:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00
    03:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00
    03:01:23 PM all 46.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00
    Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09

    cpu使用情况比sar更加详细些,也可以用-P指定某颗cpu 。

    5、iostat

    这个命令主要用来查看io使用情况,也可以来查看cpu,个人感觉不常用。

    [root@li676-235 ~]# iostat -c 1 2
    Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    avg-cpu: %user %nice %system %iowait %steal %idle
     4.53 0.01 3.81 0.63 0.04 90.99
    avg-cpu: %user %nice %system %iowait %steal %idle
     38.00 0.00 14.00 0.00 0.00 48.00

    6、dstat

    每秒cpu使用率情况获取

    [root@li676-235 ~]# dstat -c
    ----total-cpu-usage----
    usr sys idl wai hiq siq
     5 4 91 1 0 0
     27 11 62 0 0 0
     52 11 37 0 0 0
     26 10 63 0 0 1
     50 13 37 0 0 1
     21 6 72 0 0 0

    最占cpu的进程获取

    [root@li676-235 ~]# dstat --top-cpu
    -most-expensive-
     cpu process 
    mysqld 1.5
    php-fpm: pool 24
    mysqld 59

     

    展开全文
  • Linux查看CPU使用率的一些命令

    千次阅读 2019-01-22 09:59:36
    使用linux系统进行运维的过程中,我们经常要查看一下CPU使用率,以便观察以及分析系统的整体运行情况。 那么使用以下这些命令有何作用?我们一起看看: 1. top 使用频率比较高的命令,可在第三行看到cpu的...

    在使用linux系统进行运维的过程中,我们经常要查看一下CPU的使用率,以便观察以及分析系统的整体运行情况。

    那么使用以下这些命令有何作用?我们一起看看:

    1. top

    使用频率比较高的命令,可在第三行看到cpu的使用情况。

    [root@db 22:42 ~]$ top -bn 1 -i -c
    top - 22:52:17 up 55 days, 22:56,  2 users,  load average: 1.92, 2.31, 2.08
    Tasks: 266 total,   1 running, 265 sleeping,   0 stopped,   0 zombie
    Cpu(s):  2.4%us,  1.7%sy,  0.0%ni, 94.8%id,  0.0%wa,  0.0%hi,  1.1%si,  0.0%st
    Mem:   8062036k total,  6161944k used,  1900092k free,   167064k buffers
    Swap: 16777208k total,   539444k used, 16237764k free,  3075204k cached

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                           
    11455 root      20   0 15160 1240  832 R  3.3  0.0   0:00.13 top -bn 1 -i -c        
                                              

    如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

    %us:表示用户空间程序的cpu使用率(没有通过nice调度)

    %sy:表示系统空间的cpu使用率,主要是内核程序。

    %ni:表示用户空间且通过nice调度过的程序的cpu使用率。

    %id:空闲cpu

    %wa:cpu运行时在等待io的时间

    %hi:cpu处理硬中断的数量

    %si:cpu处理软中断的数量

    %st:被虚拟机偷走的cpu

    2. sar

    此命令不存在时需要安装sysstat包。

    [root@dbserver ~]# sar -P 0 -u 2 5
    Linux 5.4.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
    10:26:34 PM CPU %user %nice %system %iowait %steal %idle
    10:26:36 PM 0 41.00 0.00 55.00 4.00 0.00 0.00
    10:26:38 PM 0 8.27 0.00 27.81 62.88 1.01 0.00
    10:26:40 PM 0 2.07 0.00 15.28 81.63 1.02 0.00
    10:26:42 PM 0 4.13 0.00 24.69 72.16 1.03 0.00
    10:26:44 PM 0 4.14 0.00 23.68 72.16 1.03 0.00
    Average: 0 15.09 0.00 26.82 49.29 0.82 0.00

    进程队列长度和平均负责状态

    例如每2秒采集1次,共采集5次。

    [root@dbserver ~]# sar -q 2 5
    Linux 5.4.5-x86_64-linode52 (dbserver) 09/23/2017 _x86_64_ (1 CPU)
    10:28:37 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
    10:28:38 PM 1 131 0.35 0.44 0.41
    10:28:39 PM 2 132 0.34 0.43 0.41
    10:28:40 PM 1 133 0.34 0.43 0.41
    10:28:41 PM 2 134 0.31 0.42 0.40
    10:28:42 PM 1 133 0.31 0.42 0.40
    Average: 1 133 0.33 0.43 0.41

    输出项:

    runq-sz:运行队列的长度(等待运行的进程数)

    plist-sz:进程列表中进程(processes)和线程(threads)的数量

    ldavg-1:最后1分钟的系统平均负载(System load average)

    ldavg-5:过去5分钟的系统平均负载

    ldavg-15:过去15分钟的系统平均负载

    进程创建的平均值和上下文切换的次数

    例如每2秒收集1次,共收集5次。

    [root@dbserver  ~]# sar -w 2 5
    Linux 5.4.5-x86_64-linode52 (dbserver) 09/23/2017 _x86_64_ (1 CPU)
    10:44:03 PM proc/s cswch/s
    10:44:05 PM 1.01 156.57
    10:44:07 PM 1.00 132.00
    10:44:09 PM 2.00 201.00
    10:44:11 PM 2.02 126.26
    10:44:13 PM 2.00 114.00
    Average: 1.61 145.98

    sar命令也可以获取过去指定日期的性能参数。

    [root@dbserver ~]# sar -u -f /var/log/sa/sa20
    Linux 5.4.5-x86_64-linode52 (dbserver) 09/23/2017 _x86_64_ (1 CPU)
    11:10:01 PM CPU %user %nice %system %iowait %steal %idle
    11:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
    11:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
    11:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
    11:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
    12:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
    12:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
    12:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
    12:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
    12:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
    12:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
    Average: all 26.24 0.00 9.71 3.18 0.13 60.74

    3.vmstat

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况。相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。

    [root@dbserver 23:20 ~]$ vmstat 2
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  0 539444 1889712 167068 3077024    0    0     0     3    1    0  2  3 95  0  0    
     0  0 539444 1889704 167068 3077028    0    0     0     0 1474 1742  1  0 99  0  0    
     8  0 539444 1889704 167068 3077028    0    0     0     0 1472 1224  6  8 86  0  0  
     

     表示vmstat每2秒采集数据,一直采集,直到我们主动结束程序。

    参数详解

    Linux 内存监控vmstat命令输出分成六个部分:

    (1)进程procs
        r:在运行队列中等待的进程数
        b:在等待io的进程数
    (2)Linux 内存监控内存memoy
        swpd:现时可用的交换内存(单位KB)。
        free:空闲的内存(单位KB)。
        buff: 缓冲去中的内存数(单位:KB)。
        cache:被用来做为高速缓存的内存数(单位:KB)。
    (3) Linux 内存监控swap交换页面
        si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
        so: 从内存交换到磁盘的交换页数量,单位:KB/秒。
    (4)Linux 内存监控 io块设备:
        bi: 发送到块设备的块数,单位:块/秒。
        bo: 从块设备接收到的块数,单位:块/秒。
    (5)Linux 内存监控system系统:
        in: 每秒的中断数,包括时钟中断。
        cs: 每秒的环境(上下文)转换次数。
    (6)Linux 内存监控cpu中央处理器:
        cs:用户进程使用的时间 。以百分比表示。
        sy:系统进程使用的时间。 以百分比表示。
        id:中央处理器的空闲时间 。以百分比表示。

    常见诊断:

    1) 假如 r 经常大于4 ,且 id 经常小于40,表示中央处理器的负荷很重。

    2) 假如 bi,bo 长期不等于0,表示物理内存容量太小。

    每个参数的具体意思如下:

    r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈 了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队 列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

    b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。

    swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

    free   空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。

    buff   Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M

    cache cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

    si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。

    so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

    bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,磁盘写入速度差不多140M每秒

    bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

    in 每秒CPU的中断次数,包括时间中断

    cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的 数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或 者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核 空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的 时间少了,CPU没有充分利用,是不可取的。

    us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

    sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

    id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。

    wt 等待IO CPU时间。

    4.dstat

    每秒cpu使用率情况获取

    [root@dbserver 23:27 ~]$ dstat -c
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      2   2  95   0   0   1
      4   2  92   0   0   2
     11   7  75   0   0   6
      2   2  96   0   0   0
      0   0  99   0   0   0

    最占cpu的进程获取
    [root@dbserver 23:29 ~]$ dstat --top-cpu
    -most-expensive-
      cpu process   
    java         2.6
    java         3.1
    java          21
    java         0.1
    java         0.6


     

    展开全文
  • Linux系统查看CPU使用率、内存使用率、磁盘使用率

    万次阅读 多人点赞 2019-04-16 15:17:00
    一、查看CPU使用率 1. top 命令 top命令可以看到总体的系统运行状态和cpu的使用率 。 %us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间...
  • Linux系统查看CPU使用率的几个命令

    万次阅读 多人点赞 2017-06-06 18:02:19
    linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。 对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就...
  • 一、Linux查看CPU基本信息,可以使用命令: cat /proc/cpuinfo 例如笔者的虚拟机: [root@promote ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 37 model name : Intel(R)...
  • linux查看cpu使用情况的命令

    千次阅读 2019-01-10 10:59:44
    linux查看cpu使用情况的命令: top vmstat sar mpstat 1 5 iostat -c dstat -c 参考的下面的文章: https://blog.csdn.net/albenxie/article/details/72885951
  • linux查看cpu 内存

    千次阅读 2017-03-25 12:12:37
    linux查看cpu 内存
  • linux 查看cpu和gpu的使用情况

    千次阅读 2017-10-31 21:52:08
    us:用户空间程序的cpu使用率 sy:系统空间的cpu使用率,主要是内核程序 ni:用户空间且通过nice调度过的程序的cpu使用率 id:空闲cpu wa:cpu运行时在等待io的时间 hi:cpu处理硬中断的数量 si:cpu处理软中断的数量...
  • Linux查看CPU信息详解

    千次阅读 2015-09-09 23:30:15
    Linux查看CPU信息详解
  • Linux系统查看CPU使用率命令

    千次阅读 2018-11-26 13:55:38
    linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。 对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就...
  • Linux查看CPU信息

    万次阅读 2016-11-15 23:04:23
    Linux查看CPU信息cat /proc/cpuinfo1、查看物理CPU的个数cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2、查看逻辑CPU的个数cat /proc/cpuinfo|grep "processor"|wc -l 3、查看CPU是几核cat /proc/...
  • Linux下快速查看CPU使用情况比较常用的命令是free、top、ps。这篇文章来看下如何在Linux下检查服务器的CPU使用情况。我的LinuxLinux-Ubuntu-server-15.04,如果是图形界面,有些统计会看起来更直观。
  • Linux查看CPU和内存使用情况

    万次阅读 2016-11-25 10:35:36
    CPU占用率查看命令:top图中红色部分即为占用百分率,下面是每个进程的CPU占用率,如果服务器是多核CPU可能在下方看到有些进程CPU占用超过100%,这种一般是该进程使用了多核。内存占用率:free -m图中红色部分即为...
  • linux查看cpu主频

    千次阅读 2021-03-08 16:28:11
    微信设置水滴昵称,个性中带点萌 ...此软件是查看cpu当前频率以及修改频率、选择cpu、选择cpu运行方式的。注意,只支持某些可调节频率的cpu,如intel的笔记本cpu sudo apt-get install cpufrequtils 或 yum in
  • linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。常用的查看CPU使用率命令为top命令。 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows...
  • Linux查看CPU详细信息

    万次阅读 2019-04-23 10:46:00
    1.查看CPU详细信息 在Linux服务器上查看CPU详细信息: cat /proc/cpuinfo 输出结果: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Xeo...
  • Linux 查看CPU架构及内核版本

    千次阅读 2020-06-23 10:02:05
    涉及arch命令和/proc/version文件 ...可使用命令arch查看Linux系统的CPU架构,如下: arch 2 查看内核版本 文件/proc/version中包含系统内核的版本信息,可借助cat命令查看,如下: cat /proc/version ...
  • Linux系统查看CPU

    万次阅读 2018-10-12 18:24:01
    linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况,以便性能分析优化。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。  对于每一个CPU来说运行队列最好不要超过3,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 619,119
精华内容 247,647
关键字:

linux查看cpu使用

linux 订阅