zoukankan      html  css  js  c++  java
  • 【转载】Linux下查看CPU、内存占用率

    不错的文章(linux系统性能监控--CPU利用率):https://blog.csdn.net/ctthuangcheng/article/details/52795477

    在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. ps命令查看CPU状态
    ps(process status)命令用来汇报处理器状态信息,示例用法:

    ps ux
    ps -H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
    上述命令:第一条按默认方式查看状态,第二条命令指定显示列和排序方式,使用时任选其一。

    3. vmstat

    root@vm-199:~# vmstat 2
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     0  1  97640  50348 192812 578352    0    0     3    20    1   12  1  2 93  3
     0  0  97640  54636 192812 578360    0    0     0    14  126  147  2  4 86  8
     0  3  97640  53908 192816 578356    0    0     0    62   96  110  2  4 86  9
     0  0  97640  54156 192816 578360    0    0     0    14  113  118  3  5 83 11
     0  0  97640  53908 192816 578360    0    0     0    16  107  103  2
    (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:中央处理器的空闲时间 。以百分比表示。

  • 相关阅读:
    网络编程总结
    网络编程进阶---->>> hamc模块 socketserver模块验证合法性 两者进行通信连接
    黏包
    socket概念 套接字
    网络协议
    python之路——网络基础
    模块复习 staticmethod和classmethod的区别
    Dubbo执行流程?
    Dubbo在安全机制方面是如何解决的
    Dubbo中有哪些角色?
  • 原文地址:https://www.cnblogs.com/yingsong/p/9927327.html
Copyright © 2011-2022 走看看