• Linux常用命令


    • 整机:
      • top  系统性能
      • uptime 精简版

    HuandeMacBook-Air:~ huanliu$ uptime
    12:55  up 20 days,  3:07, 2 users, load averages: 5.37 9.02 13.47
    //当前时间     运行总时间     用户数            
    //load averages 当前的负载均衡  分别取1min,5min,15min的均值,三个值相加/3  >60%说明系统压力过大
    • CPU:vmstat
    //2表示每个两秒采集一次服务器状态,1表示只采集一次
    root@local:~# vmstat 2 1  
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     1  0      0 3498472 315836 3819540    0    0     0     1    2    0  0  0 100  0
    
    //实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了
    root@local:~# vmstat 2  
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     1  0      0 3499840 315836 3819660    0    0     0     1    2    0  0  0 100  0
     0  0      0 3499584 315836 3819660    0    0     0     0   88  158  0  0 100  0
     0  0      0 3499708 315836 3819660    0    0     0     2   86  162  0  0 100  0
     0  0      0 3499708 315836 3819660    0    0     0    10   81  151  0  0 100  0
     1  0      0 3499732 315836 3819660    0    0     0     2   83  154  0  0 100  0

    类别

    项目

    含义

    说明

    Procs(进程)

    r

    等待执行的任务数

    展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。

    B

    等待IO的进程数量

    Memory(内存)

    swpd

    正在使用虚拟的内存大小,单位k

    free

    空闲内存大小

    buff

    已用的buff大小,对块设备的读写进行缓冲

    cache

    已用的cache大小,文件系统的cache

    inact

    非活跃内存大小,即被标明可回收的内存,区别于free和active

    具体含义见:概念补充(当使用-a选项时显示)

    active

    活跃的内存大小

    具体含义见:概念补充(当使用-a选项时显示)

    Swap

    si

    每秒从交换区写入内存的大小(单位:kb/s)

    so

    每秒从内存写到交换区的大小

    IO

    bi

    每秒读取的块数(读磁盘)

    块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes

    bo

    每秒写入的块数(写磁盘)

    块设备每秒发送的块数量,单位是block

    system

    in

    每秒中断数,包括时钟中断

    这两个值越大,会看到由内核消耗的cpu时间sy会越多

    秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目

    cs

    每秒上下文切换数

    CPU(以百分比表示)

    us

    用户进程执行消耗cpu时间(user time)

    us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了

    sy

    系统进程消耗cpu时间(system time)

    sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足

    Id

    空闲时间(包括IO等待时间)

    一般来说 us+sy+id=100

    wa

    等待IO时间

    wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

    • 内存:free
    # free //显示内存使用信息 -b以Byte为单位展示内存使用情况 -k以KB为单位展示内存情况 -m以MB为单位展示内存情况 -h 以合适的单位显示内存使用情况,最大为三位数;后面加数字表示几秒执行一次
                total     used    free   shared   buffers    cached
    Mem: 254772 184568 70204     0        5692       89892
    -/+ buffers/cache: 88984 165788
    Swap: 524280 65116 459164    
    Mem 内存的使用情况
    -/+ buffers/cache 表示物理内存已用多少,可用多少
    Swap 交换空间的使用情况
    total 总量
    used 已使用的
    free 空闲的
    shared 共享的,在linux里面有很多共享内存,比如一个libc库,很多程序调用,但实际只存一份
    buffers 缓存,可回收
    cached 缓存,可回收
    • 硬盘:df
    // 第一列指定文件系统的名称,第二列表示总大小,第三列表示已使用,第四列表示可用,第五列表示已用百分比,最后一列"安装在"指定的文件系统的挂载点
    # df -h  //-h使用人类可读的格式   
    Filesystem      Size  Used   Avail Use% Mounted on 
    /dev/sda6       29G   4.2G   23G   16%     / 
    udev            1.5G  4.0K   1.5G   1%     /dev 
    tmpfs           604M  892K   603M   1%     /run 
    none            5.0M     0   5.0M   0%     /run/lock 
    none            1.5G  156K   1.5G   1%     /run/shm 
    • 磁盘IO:iostat
    • 网络IO:ifstat
    // ifstat安装
    wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz
    tar xzvf ifstat-1.1.tar.gz
    cd ifstat-1.1
    ./configure
    make
    make install
  • 相关阅读:
    深入理解volatile
    定时任务分布式锁的简单实现
    spring boot在tomcat运行多环境配置分离方案
    java spring boot data jpa和javaagent兼容问题
    RabbitMQ PHP操作类,守护进程及相关测试数据
    Python httpsqs封装类
    Python守护进程(多线程开发)
    python游戏打包exe
    处理谷歌地图marker旋转
    在vue-cli项目中mockjs和vConsole的使用
  • 原文地址:https://www.cnblogs.com/ding-dang/p/13176524.html
Copyright © 2020-2023  润新知