美文网首页Linux程序员
Linux常用命令:top

Linux常用命令:top

作者: linjinhe | 来源:发表于2016-12-18 21:57 被阅读212次

    常用

    • top 进程模式
    • top –H 线程模式

    输出

    第一行

    ** top - 23:57:58 up 9 days, 2:12, 4 users, load average: 0.38, 0.47, 0.43 **

    • 第一行描述的是系统负载的整体情况
      • load average(系统负载),用Linux内核的任务队列的平均长度表示。0.38, 0.47, 0.43这三个数值分别是系统1分钟前,5分钟前、15分钟前到现在的平均值。当load average的数值/CPU逻辑核心数==1.0时,表示系统满载运行。超过1.0时,表示系统已经超载运行,不堪重负。
      • 下面一段话引用自man page:

    System load averages is the average number of processes that are either in a runnable or uninterruptable state. A process in a runnable state is either using the CPU or waiting to use the CPU. A process in uninterruptable state is waiting for some I/O access, eg waiting for disk.

    第二行

    ** Tasks: 205 total, 2 running, 203 sleeping, 0 stopped, 0 zombie **

    • 第二行描述了系统进程/线程的基本情况。当使用top是,task表示进程;当使用top –H时,task表示线程。
    • running – 状态为TASK_RUNNING的task数量。
    • sleeping – 状态为TASK_INTERRUPTIBLE或TASK_UNINTERRUPTIBLE的task数量。
    • stopped – 状态为__TASK_STOPPED的task数量,正常的系统这种进程状态应该很少。在收到一些“致命”的signal时,task会进入这种状态。
    • zombie – 状态为EXIT_ZOMBIE的task。在Linux中,一个task退出后,会进入EXIST_ZOMBIE,需要由父task调用wait系列的函数对其进行回收。如果系统出现大量zombie的task,则很有可能是父task没有对子task调用wait进行回收或者产生太多task,父task还来不及回收。(如果父task在子task之前退出了,则由init task回收zombie task)。

    第三行

    ** %Cpu(s): 4.3 us, 1.2 sy, 0.0 ni, 94.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st **

    • %Cpu(s)描述了多核CPU使用情况。在top命令的交互界面输入左上角的1可以看到不同CPU核的使用情况。
    • us, user: time running un-niced user processes
    • sy, system: time running kernel processes
    • ni, nice: time running niced user processes
    • id, idle: time spent in the kernel idel handler
    • wa, IO-wait: time waiting for I/O completion
    • hi: time spent servicing hardware interrupts
    • si: time spent servicing software interrupts
    • st: time stolen from this vm by the hypervisor

    第四行

    ** KiB Mem: 3856200 total, 3201784 used, 654416 free, 221532 buffers **

    • 第四行Mem是从OS的角度描述物理内存的使用情况。具体见Linux命令:free

    第五行

    ** KiB Swap: 3999740 total, 485604 used, 3514136 free. 1374532 cached Mem **

    • 第五行Swap显示了虚拟内存的使用情况。
    • Cached Mem – 缓冲的交换区总量。内存中的内容被交换到Swap,而后又被换入到内存。内存中和Swap中的内容都未被修改,则相应的内存再次被换出时可不必再对Swap写入。

    第六行

    ** PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND **

    • 这一行是下面描述各个进程/线程的情况的标题。

    相关文章

      网友评论

        本文标题:Linux常用命令:top

        本文链接:https://www.haomeiwen.com/subject/wkyzmttx.html