zoukankan      html  css  js  c++  java
  • linux系统资源查看常用命令


    1.vmstat
     vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO读写、CPU活动等进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
    语法:  vmstat   [刷新时间]   [刷新次数]

    2.dmesg
    dmesg命令用于显示开机信息。
    kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg中。

    3.free
    free命令用于显示内存状态。
    free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

        -b  以Byte为单位显示内存使用情况。
        -k  以KB为单位显示内存使用情况。
        -m  以MB为单位显示内存使用情况。
        -o  不显示缓冲区调节列。
        -s<间隔秒数>  持续观察内存使用状况。
        -t  显示内存总和列。
        -V  显示版本信息。

    4.uptime
    uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。 可理解为top的简单版!

    5.uname
    uname命令用于显示系统信息,uname可显示电脑以及操作系统的相关信息。
    例,uname -a

    扩展:

      Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

        r:目前发布的内核主版本。
        x:偶数表示稳定版本;奇数表示开发中版本。
        y:错误修补的次数。

       内核版本号每位都代表什么 ?

          以版本号为例: 2.6.9-5.ELsmp ,

          r:   2 , 主版本号

          x:  6 , 次版本号,表示稳定版本

          y:  9 , 修订版本号 , 表示修改的次数

      头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。

         5:  表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的

         EL :   Enterprise Linux(企业linux)   ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器


    6.lsb_release
    Linux里的lsb_release命令用来查看当前系统的发行版信息。LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。有了这个命令就可以清楚的知道到底是RedHat的、还是别的发行版,还有具体的版本号,比如3.4还是5.4等等。有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息。
      -v 显示版本信息。

      -i 显示发行版的id

      -d 显示该发行版的描述信息。

      -r 显示当前系统是发行版的具体版本号。

      -c 发行版代号。

      -a 显示上面的所有信息。

      -h 显示帮助信息。

    7.lsof
    lsof列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

    lsof列出进程打开或使用的文件。

    例,lsof -c <进程号>       ===>列出该进程打开的所有文件

           lsof -u <UID/用户名>    ===>理出改用户打开的所有文件

           lsof  /sbin/init          ===> 显示与指定目录打开的一切文件

           lsof  -c httpd     ===> 查看httpd进程使用的所有文件

           lsof -u 0 或 losf -u root       ===>查看root用户使用的所有文件

     8.top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。通过top命令所提供的互动式界面,用热键可以管理。

    语法

    top(选项)

    选项

     1 -b:以批处理模式操作;
     2 -c:显示完整的治命令;
     3 -d:屏幕刷新间隔时间;
     4 -I:忽略失效过程;
     5 -s:保密模式;
     6 -S:累积模式;
     7 -i<时间>:设置间隔时间;
     8 -u<用户名>:指定用户名;
     9 -p<进程号>:指定进程;
    10 -n<次数>:循环显示的次数。

    top交互命令

    在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

     1 h:显示帮助画面,给出一些简短的命令总结说明;
     2 k:终止一个进程;
     3 i:忽略闲置和僵死进程,这是一个开关式命令;
     4 q:退出程序;
     5 r:重新安排一个进程的优先级别;
     6 S:切换到累计模式;
     7 s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
     8 f或者F:从当前显示中添加或者删除项目;
     9 o或者O:改变显示项目的顺序;
    10 l:切换显示平均负载和启动时间信息;
    11 m:切换显示内存信息;
    12 t:切换显示进程和CPU状态信息;
    13 c:切换显示命令名称和完整命令行;
    14 M:根据驻留内存大小进行排序;
    15 P:根据CPU使用百分比大小进行排序;
    16 T:根据时间/累计时间进行排序;
    17 w:将当前设置写入~/.toprc文件中

    top命令的结果分为两个部分:

          ①统计信息:前五行是系统整体的统计信息;

          ②进程信息:统计信息下方类似表格区域显示的是各个进程的详细信息,默认5秒刷新一次。如图所示:

    统计信息说明:
    
        第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相同。
            第1段:系统当前时间,例如:16:07:37
            第2段:系统运行时间,时间越长系统越稳定。
                格式:up xx days, HH:MM
                例如:241 days, 20:11, 表示连续运行了241天20小时11分钟
            第3段:当前登录用户数,例如:1 user,表示当前只有1个用户登录
            第4段:系统负载,即任务队列的平均长度,3个数值分别统计最近1,5,15分钟的系统平均负载
                系统平均负载:单核CPU情况下,0.00 表示没有任何负荷,1.00表示刚好满负荷,超过1侧表示超负荷,理想值是0.7;
                多核CPU负载:CPU核数 * 理想值0.7 = 理想负荷,例如:4核CPU负载不超过2.8何表示没有出现高负载。
        第2行:Tasks 进程相关信息
            第1段:进程总数,例如:Tasks: 231 total, 表示总共运行231个进程
            第2段:正在运行的进程数,例如:1 running,
            第3段:睡眠的进程数,例如:230 sleeping,
            第4段:停止的进程数,例如:0 stopped,
            第5段:僵尸进程数,例如:0 zombie
        第3行:Cpus CPU相关信息,如果是多核CPU,按数字1可显示各核CPU信息,此时1行将转为Cpu核数行,数字1可以来回切换。
            第1段:us 用户空间占用CPU百分比,例如:Cpu(s): 12.7%us,
            第2段:sy 内核空间占用CPU百分比,例如:8.4%sy,
            第3段:ni 用户进程空间内改变过优先级的进程占用CPU百分比,例如:0.0%ni,
            第4段:id 空闲CPU百分比,例如:77.1%id,
            第5段:wa 等待输入输出的CPU时间百分比,例如:0.0%wa,
            第6段:hi CPU服务于硬件中断所耗费的时间总额,例如:0.0%hi,
            第7段:si CPU服务软中断所耗费的时间总额,例如:1.8%si,
            第8段:st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)
        第4行:Mem 内存相关信息(Mem: 12196436k total, 12056552k used, 139884k free, 64564k buffers)
            第1段:物理内存总量,例如:Mem: 12196436k total,
            第2段:使用的物理内存总量,例如:12056552k used,
            第3段:空闲内存总量,例如:Mem: 139884k free,
            第4段:用作内核缓存的内存量,例如:64564k buffers
        第5行:Swap 交换分区相关信息(Swap: 2097144k total, 151016k used, 1946128k free, 3120236k cached)
            第1段:交换区总量,例如:Swap: 2097144k total,
            第2段:使用的交换区总量,例如:151016k used,
            第3段:空闲交换区总量,例如:1946128k free,
            第4段:缓冲的交换区总量,3120236k cached


    进程信息:

    在top命令中按f按可以查看显示的列信息,按对应字母来开启/关闭列,大写字母表示开启,小写字母表示关闭。带*号的是默认列。
    
    
    • A: PID = (Process Id) 进程Id;
    • E: USER = (User Name) 进程所有者的用户名;
    • H: PR = (Priority) 优先级
    • I: NI = (Nice value) nice值。负值表示高优先级,正值表示低优先级
    • O: VIRT = (Virtual Image (kb)) 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    • Q: RES = (Resident size (kb)) 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    • T: SHR = (Shared Mem size (kb)) 共享内存大小,单位kb
    • W: S = (Process Status) 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
    • K: %CPU = (CPU usage) 上次更新到现在的CPU时间占用百分比
    • N: %MEM = (Memory usage (RES)) 进程使用的物理内存百分比
    • M: TIME+ = (CPU Time, hundredths) 进程使用的CPU时间总计,单位1/100秒
    • OMMAND = (Command name/line) 命令名/命令行
     

    小记:

    ①在linux中许多服务名都是 httpd,vsftpd,atd等,这里的 “d”的意思是---守护进程(daemon)。
    ②file /bin/ls     "/bin/ls"可以换成任何命令,这句话可用来查看linux操作系统的位数。

    ③tail -f [文件名]   实时监控文件内容

  • 相关阅读:
    Cassandra内部架构
    Cassandra数据模型
    windows10 docker安装使用
    vue用async、await实现同步请求
    navicat mysql 书写存储过程并导出成sql
    idea svn 文件还原到指定版本
    vscode vue 去掉语法提示
    elasticsearch regexp查询特殊字符处理
    redis中获取不同自增数的方法
    java Elasticsearch 进行嵌套子聚合
  • 原文地址:https://www.cnblogs.com/Downtime/p/8370960.html
Copyright © 2011-2022 走看看