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

    top 命令

    top命令提供了实时的对系统处理器的状态监视,该命令可以按CPU使用、内存使用和执行时间对任务进行排序。
    top常用命令格式如下:

    top [参数]
    

    命令参数说明如下:

    -d:指定每两次屏幕信息刷新之间的时间间隔。
    -p:指定进程
    -H: 线程模式
    -c:显示整个命令行而不只是显示命令名
    -i:设置间隔时间
    -u:指定用户名
    -n:循环显示的次数
    

    常用命令

    top   // 每隔5秒显式所有进程的资源占用情况
    top -d 2  // 每隔2秒显式所有进程的资源占用情况
    top -c  // 每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
    top -p 12345 -p 6789// 每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
    top -d 2 -c -p 123456 // 每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
    

    使用实例

    输入命令:top
    输出结果:

    系统运行时间和平均负载

    • 第一行;这行信息与uptime输出的信息一样;
    1. 11:29:59:系统当前时间;
    2. up 51 min:系统已运行时间;
    3. 1 user:当前连接系统的终端数;
    4. load average: 0.00, 0.01, 0.05:系统负载;后面的三个数分别是1分钟、5分钟、15分钟的负载情况;如果平均负载值大于0.7*CPU内核数,就需要引起关注;

    任务

    • 第二行;表示进程数信息;
    1. 87 total:总进程数;
    2. 3 running:正在运行的进程数;
    3. 84 sleeping:正在睡眠的进程数;
    4. 0 stopped:停止的进程数;
    5. 0 zombie:僵尸进程数;

    CPU 状态

    • 第三行;表示CPU状态信息;这里显示数据是所有CPU的平均值,如果想看每一个CPU的处理情况,按1即可;折叠,再次按1;
    1. 0.7 us:用户空间占用CPU百分比;
    2. 0.3 sy:内核空间占用CPU百分比;
    3. 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比;
    4. 99.0 id:CPU空闲率;
    5. 0.0 wa:等待IO的CPU时间百分比;
    6. 0.0 hi:硬中断(Hardware IRQ)占用CPU的百分比;
    7. 0.0 si:软中断(Software Interrupts)占用CPU的百分比;
    8. 0.0 st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的);

    内存使用

    • 第四行;物理内存使用信息;
    1. 1016476 total:物理内存总量;
    2. 522952 free:使用的物理内存总量;
    3. 276456 used:空闲内存总量;
    4. 217068 buff/cache:用作内核缓冲/缓存的内存量;
    • 第五行;交换空间使用信息;我们要时刻监控交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了;
    1. 839676 total:交换区总量;
    2. 839676 free:交换区空闲量;
    3. 0 used:交换区使用量;
    4. 573936 avail Mem:可用于进程下一次分配的物理内存数量;
    • 第六行;空行;

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

    • 第七行;各个进程的状态信息;
    1. PID:进程id;
    2. USER:进程所有者;
    3. PR:进程优先级;
    4. NI:nice值;越小优先级越高,最小-20,最大20(用户设置最大19);
    5. VIRT:进程使用的虚拟内存总量,单位kb;VIRT=SWAP+RES;
    6. RES:进程使用的、未被换出的物理内存大小,单位kb;RES=CODE+DATA;
    7. SHR:共享内存大小,单位kb;
    8. S:进程状态;D=不可中断的睡眠状态、R=运行、S=睡眠、T=跟踪/停止、Z=僵尸进程;
    9. %CPU:上次更新到现在的CPU时间占用百分比;
    10. %MEM:进程使用的物理内存百分比;
    11. TIME+:进程使用的CPU时间总计;
    12. COMMAND命令名/命令行。

    交互命令

    多核CPU监控

    在top基本视图中,第三行表示CPU状态信息;这里显示数据是所有CPU的平均值,如果想看每一个CPU的处理情况,按1即可;折叠,再次按1;

    高亮显示当前运行进程

    敲击键盘“b”(打开/关闭加亮效果),当按下后,当前正在运行的进程就会被高亮显示,如下图所示:

    进程字段排序

    默认进入top时,各进程是按照CPU的占用量来排序的。但是,我们可以改变这种排序:
    M:根据驻留内存大小进行排序
    P:根据CPU使用百分比大小进行排序
    T:根据时间/累计时间进行排序

    显示字段设置

    敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段,按空格键添加/取消,按Esc键返回到top显示界面,有””并且标注为大写字母的字段是可显示的,没有””并且是小写字母的字段是不显示的。:

    作者:Young
    联系:chayliu@126.com
    签名:天道酬勤 厚积薄发

    ---------------------------------------------------------

  • 相关阅读:
    cocos2dx 2.0 学习笔记简单动画
    几种插入数据的方法
    c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
    C#高效编程改进C#代码的50个行之有效的办法摘抄笔记
    获取两个日期之间的每一天
    取SQL中某个字段的后两位
    该行已经属于另一个表 的解决办法
    一个实体对象不能由多个 IEntityChangeTracker 实例引用
    MVC返回JSON,IE下无法接收JSON,IE下JSON提示另存为
    entity framework DbContext Attach判断
  • 原文地址:https://www.cnblogs.com/chay/p/10232271.html
Copyright © 2011-2022 走看看