zoukankan      html  css  js  c++  java
  • 2018/03/11 每日一个Linux命令 之 top

    每日一个Linux命令 之 top

     

      今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行?

    上去一看,PHP进程已经占用了60%,其他测试站点也受到影响,所以准备今天着重学习一下这两个指令。

      和对象吵架了,停更得一天,今天的话再补充完善内容。

      

      top 命令,用于实时显示系统进程动态。

      现在在linux下输入 top

      看看  

      如果没有仔细研究过top的具体含义的划,那就对了,我也没。

      不过今天学习完就会了,这个指令还是非常强大的。

      首先看看第一行:

        top - 14:10:05 up 1:12,  1 user,  load average: 0.00, 0.00, 0.00

          - 14:10:05 — 当前系统时间

          - 1:12 — 系统已经运行了 一小时12分钟(在这期间没有重启过)

          - 1 users — 当前有1个用户登录系统

          - load average: 0.00, 0.00, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况

        ps:  load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

      第二行:

        Tasks: 107 total,   1 running, 106 sleeping,   0 stopped,   0 zombie

        Tasks — 任务(进程),系统现在共有107个进程,其中处于运行中的有1个,106个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

      第三行:

        %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st    

        0.0% us — 用户空间占用CPU的百分比。 0.0% sy — 内核空间占用CPU的百分比。0.0% ni — 改变过优先级的进程占用CPU的百分比

        92.9% id — 空闲CPU百分比

          0.0% wa — IO等待占用CPU的百分比
          0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
          0.0% si — 软中断(Software Interrupts)占用CPU的百分比
          在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。

      第四行:  

      如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

    对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

    第六行是空行
      

      


    第七行以下:各进程(任务)的状态监控
      PID — 进程id
      USER — 进程所有者
      PR — 进程优先级
      NI — nice值。负值表示高优先级,正值表示低优先级
      VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
      RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
      SHR — 共享内存大小,单位kb
      S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
      %CPU — 上次更新到现在的CPU时间占用百分比
      %MEM — 进程使用的物理内存百分比
      TIME+ — 进程使用的CPU时间总计,单位1/100秒
      COMMAND — 进程名称(命令名/命令行)
     
      由于我对与系统进程命令也不是很熟悉,大部分都是摘自文章
      http://blog.csdn.net/dxl342/article/details/53507673
      也在此过程中学习。之后有对命令有见解的话再回来补充。 
  • 相关阅读:
    Azure PowerShell (2) 修改Azure订阅名称
    Windows Azure Platform Introduction (11) 了解Org ID、Windows Azure订阅、账户
    Azure PowerShell (3) 上传证书
    Azure PowerShell (1) PowerShell入门
    Windows Azure Service Bus (2) 队列(Queue)入门
    Windows Azure Service Bus (1) 基础
    Windows Azure Cloud Service (10) Role的生命周期
    Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书
    Android studio 使用心得(一)—android studio快速掌握快捷键
    android 签名、混淆打包
  • 原文地址:https://www.cnblogs.com/25-lH/p/8559325.html
Copyright © 2011-2022 走看看