• Linux-top命令详解


    Linux-top命令详解

    作者:Danbo 时间:2015-7-9

    统计信息区
    第一行:队伍队列信息,同uptime命令的执行结果
    23:32:15 - 表示系统时间
    up 42 min - 系统已经运行了42分钟了
    1 user - 当前有一个用户登录系统
    load average: 0.01, 0.00, 0.00 - 分别表示1min、5min、15min系统负载情况,这些数据是每隔5s种检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运行。

    第二行:任务进程
    系统共108个进程,1个处于运行,107处于休眠,0个stopped,0个zombie

    第三行:CPU状态信息
    0.0%us - 用户空间占用CPU的百分比
    0.2%sy - 系统占用CPU的百分比
    0.0%ni - 改变过优先级的进程占用CPU的百分比
    99.8%id - 空闲CPU百分比
    0.0%wa - IO等待占用CPU的百分比
    0.0%hi - 硬中断占用CPU的百分比
    0.0%si - 软中断占用CPU的百分比
    0.0%st - 是当hypervisor服务器另一个虚拟处理器的时候,虚拟CPU等待实际CPU的时间的百分比。当st值比较高的话,你需要向主机供应商申请扩容虚拟机。服务器上的另一个虚拟机可能拥有更大更多的CPU时间片,你可能需要申请升级以与之竞争。另外高steal值可能意味着主机供应商在服务器上过量地出售虚拟机。如果升级了虚拟机,steal值还不降的话,你应该寻找另一家服务供应商。

    第四行:内存状态
    Mem:   3909764k total,   256228k used,  3653536k free,    31100k buffers

    第五行:swap交换分区信息
    Swap:  2097148k total,        0k used,  2097148k free,    75676k cached

    PS:第四行使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重新利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但是不必担心。
    如果出于Windows下使用的习惯(出于蛋疼)去计算可用的内存数:free+buffers+cached
    对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数值交换,这是真正的内存不过用了。

    第六行:各进程(任务)的状态监控
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    PID - 进程id 
    USER - 进程所有者 
    PR - 进程优先级 
    NI - nice值(负值表示高优先级,正值表示低优先级)
    VIRT - 进程使用的虚拟内存总量,单位kb。(Virtula Memory Usage)
    1.进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
    2.假如进程申请100MB的内存,但实际只使用了10MB,那么它会增长100MB,而不是实际使用量。

    RES - 常驻内存,进程使用的、未被换出的物理内存大小。(Resident Menory Usage)
    1.进程当前使用的内存大小,但不包括swap out
    2.包括其他进程的共享
    3.如果申请100MB的内存,实际使用10MB,它只增长10MB。注意与VIRT区别。
    4.关于库占用的情况,它只统计加载的库文件所占内存。

    SHR - 共享内存大小
    1.除了自身进程的共享内存,也包括其他进程的共享内存。
    2.虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小。
    3.计算某个进程所占的物理内存大小公式:RES - SHR。
    4.交换出去(Swap Out)后,它将会降下来。

    DATA(如果没显示,按f键就可以显示)
    真正的该程序要求的数据空间,是真正在运行中要使用的。

    S - 进程状态。D=不可中断的休眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸
    %CPU - 上次更新到现在的CPU时间占用百分比
    %MEM - 进程使用的物理内存百分比
    %TIME+ - 进程使用的CPU时间总计,单位1/100s
    COMMAND - 进程名称(命令名/命令行)

    其他使用命令:
    1 - 可监控每个逻辑CPU的状况

    b - 高亮显示当前运行进程

    当我们按下后,我们发现PID为2848的“top”进程被加亮了,top进程就是上图第二行显示唯一的Running的那个进程。可以通过y键关闭或打开运行进程的加亮效果。

    进程字段排序:默认进入top时,各进程是按照CPU的占用来排序。这个可以通过“shift + >”或者“shift + <”来选择按照哪一列排序。

    常用命令:
    top -c:显示完整命令
    top -b:以批处理模式显示程序信息
    top -S:以累计模式系那是程序信息
    top -n 2:设置信息更新次数,更新2次就终止更新并退出
    top -d 3:设置信息更新周期
    top -p 1:显示指定的进程信息

    top交互命令
    h 显示帮助画面,给出一些简单的命令总结说明
    k 终止一个进程。
    i 忽略闲置和僵死进程。这是一个开关式命令。
    q 退出程序
    r 重新安排一个进程的优先级
    S 切换到累计模式
    s 改变两次花心之间的延迟,如果有小数,就环城ms。输入0值则系统将不断刷新,默认值为5s
    f或则F:从当前显示中添加或删除项目
    o或O:改变显示项目的顺序
    l 切换显示平均负载和显示启动信息
    m 切换显示内存信息
    t 切换显示进程和CPU状态信息
    M 根据驻留内存大小进行排序
    P 根据CPU使用百分比大小进行排序
    T 根据时间/累计时间进行排序
    W 将当当前设置写入~/.toprc文件中去。

  • 相关阅读:
    ubuntu root 登录没有声音(waiting for sound system to respond)
    android openVG source prj
    http://source.android.com/ android官网(下载源码及sdk)
    8个优秀的Android开源游戏引擎
    2010開放原始碼創新應用開發大賽 (有很好的源码)
    GIT和repo使用方法:下载内核 android源码包
    Real6410系列教程 android
    [转]Protel布局文件转化为Allegro placement文件
    ubuntu网卡设置
    ubuntu 下安装java6的源
  • 原文地址:https://www.cnblogs.com/danbo/p/4633614.html
Copyright © 2020-2023  润新知