zoukankan      html  css  js  c++  java
  • top 命令

    top命令

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

    参数选项

    使用格式:

    top [-] [d] [p] [q] [c] [C] [S] [s] [n]



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

    常用命令说明:



    Ctrl+L:擦除并且重写屏幕 K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。 i:忽略闲置和僵死进程。这是一个开关式命令。 q:退出程序 r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。 S:切换到累计模式。 s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。 f或者F:从当前显示中添加或者删除项目。 o或者O:改变显示项目的顺序 l:切换显示平均负载和启动时间信息。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据驻留内存大小进行排序。 P:根据CPU使用百分比大小进行排序。 T:根据时间/累计时间进行排序。 W:将当前设置写入~/.toprc文件中。

    实例

    其中:

    top(系统运行时间和平均负载)

    • 当前时间
    • 系统已运行的时间
    • 当前登录用户的数量
    • 相应最近5、10和15分钟内的平均负载。

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

    Tasks(任务/进程)

    显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。

      total  103  总进程数
      1 running  正在运行的进程数

      102 sleeping 休眠的进程数

      0 stopped   关闭的进程数

      0 zombie  冻结的进程数

    %Cpu(s)

    • us, user: 运行(未调整优先级的) 用户进程的CPU时间
    • sy,system: 运行内核进程的CPU时间
    • ni,niced:运行已调整优先级的用户进程的CPU时间
    • wa,IO wait: 用于等待IO完成的CPU时间
    • hi:处理硬件中断的CPU时间
    • si: 处理软件中断的CPU时间
    • st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)

    20% us — 用户空间占用CPU的百分比。
    20% sy — 内核空间占用CPU的百分比。
    0.0% ni — 改变过优先级的进程占用CPU的百分比
    99.5% id — 空闲CPU百分比
    0.0% wa — IO等待占用CPU的百分比
    0.2% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    0.0% si — 软中断(Software Interrupts)占用CPU的百分比

    MiB MeM(物理内存使用情况)
    显示如下:

    全部可用内存、

    已使用内存、

    空闲内存、

    缓冲内存。
    3780.7 total — 物理内存总量(4G)

    4014.5 free — 空闲内存总量

    167.9 used — 使用中的内存总量
    598.3 buffers — 缓存的内存量 

    内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

    MiB Swap(交换分区内存)
    全部、

    已使用、

    空闲

    缓冲交换空间

    0 total — 交换区总量
    0 used — 使用的交换区总量
    0 free — 空闲交换区总量
    3388.4 cached — 缓冲的交换区总量

     各进程(任务)的状态监控:

     

    PID:(processID,进程id)

    1.是大多数操作系统的内核用于唯一标识进程的一个数值。

    2.这一数值可以作为许多函数调用的参数,以使调整进程优先级、kill进程

    在各PID中,较为特别的是0号PID和1号PID。PID为0者为交换进程(swapper),属于内核进程;PID为1者则常为init进程,主要负责启动与关闭系统。值得一提的是,1号PID本来并非是特意为init进程预留的,而init进程之所以拥有这一PID,是因为init是内核创建的第一个进程。

    USER:用户*-*这个应该不用解释

    VIRT:(virtual memory usage 虚拟内存)
    1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
    2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

    RES:(resident memory usage 常驻内存)
    1、进程当前使用的内存大小,但不包括swap out
    2、包含其他进程的共享
    3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

    SHR:(shared memory 共享内存)
    1、除了自身进程的共享内存,也包括其他进程的共享内存
    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
    3、计算某个进程所占的物理内存大小公式:RES – SHR
    4、swap out后,它将会降下来

    S:这个是进程的状态。它有以下不同的值:

    • D - 不可中断的睡眠态。
    • R – 运行态
    • S – 睡眠态
    • T – 被跟踪或已停止
    • Z – 僵尸态

    %CPU:

    自从上一次更新时到现在任务所使用的CPU时间百分比。

    %MEM:

    进程使用的可用物理内存百分比。

    TIME+:

    任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

    COMMAND:

    运行进程所使用的命令。进程名称(命令名/命令行)

    还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。

    top交互命令

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



    h:显示帮助画面,给出一些简短的命令总结说明; k:终止一个进程; i:忽略闲置和僵死进程,这是一个开关式命令; q:退出程序; r:重新安排一个进程的优先级别; S:切换到累计模式; s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s; f或者F:从当前显示中添加或者删除项目; o或者O:改变显示项目的顺序; l:切换显示平均负载和启动时间信息; m:切换显示内存信息; t:切换显示进程和CPU状态信息; c:切换显示命令名称和完整命令行; M:根据驻留内存大小进行排序; P:根据CPU使用百分比大小进行排序; T:根据时间/累计时间进行排序; w:将当前设置写入~/.toprc文件中。
  • 相关阅读:
    统计 (Standard IO)
    存储过程中的错误处理
    簡單SQL存儲過程實例
    SQLSERVER存储过程基本语法
    SQL Server游标的使用【转】
    实现业务系统中的用户权限管理--实现篇
    实现业务系统中的用户权限管理--设计篇
    C#.net 微信公众账号接口开发
    jquery select radio
    asp.net Repeater使用例子,包括分页
  • 原文地址:https://www.cnblogs.com/hxlinux/p/11982265.html
Copyright © 2011-2022 走看看