zoukankan      html  css  js  c++  java
  • Linux系统性能监控命令系列之 top

    大家好!我是Sean!

    好久没有更新文章了,最近比较忙,接下来做个Linux系统性能监控命令系列分享,都是我平时常用的,个人觉得很实用,希望能给大家在工作中带来帮助。

    top(显示或管理执行中的程序)

    说到性能监控,用到最多的就是top命令,有点类似于Windows系统的任务管理器。top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

    下面是我总结的关于top命令相关知识的脑图。

    启动命令参数

    -b:以批处理模式操作;
    -c:显示整个命令行而不只是显示命令名;
    -d:屏幕刷新间隔时间;
    -I:忽略失效过程;
    -s:保密模式,使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险;
    -S:累积模式,从开始到现在时间段内的资源状况;
    -i<时间>:设置间隔时间;
    -u<用户名>:指定用户名;
    -p<进程号>:指定进程;
    -n<次数>:循环显示的次数。
    

    交互命令

    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文件中;
    

    使用场景

    介绍一些比较常用的使用场景:

    1. 如何看机器是否有过宕机?可以直接看下第一行信息,里面有系统运行时长和启动时间
    2. 如何看看cpu使用状况?只需看两个地方,1)第三行%Cpu(s)信息,这个是系统从启动到目前的cpu占用状况,如果是多核cpu,按数字1可以看到各个cpu核的占用状况,2)进程信息中%CPU列,显示的是各个进程在刷新时间间隔内的cpu占用状况,这里的某些进程的值往往比%Cpu(s)中的大,因为这里是瞬时值,计算方法不一样,%Cpu(s)中的值会随着运行时间的延长,趋向于一个值。这两处看到的数据维度是不同的,大家根据实际问题情况去看数据。
    3. 如何看内存是否还够用?1)看第四行Mem的free是否充足,2)如果free不充足,那么继续看第五行Swap的free是否充足,并观察used数值是否一直变化,如果一直变化说明内存在不断和硬盘进行交换,说明内存真的不够了。
    4. 如何只观察某个进程资源使用情况?top -p 进程号,这个就会一直显示单个进程的信息,top -H -p 进程号,这个就会显示进程里所有线程的信息,这俩命令对定位问题都很实用。

    今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

  • 相关阅读:
    单例模式-静态内部类方式
    单例模式-懒汉式(双重检验)
    单例模式-懒汉式
    sonarqube7.2版本web api简析
    sonarqube集成maven插件,上传扫描结果
    sonarQube快速入门7.2版本下载pmd插件,并设置只使用pmd规则
    gradle使用dokka插件出现Exception while loading package-list from ExternalDocumentationLinkImp
    让linux后解压的资源权限就是777(工作笔记)
    java并发 无锁cas的最简单理解
    java 必须要懂点的包 今日研究小结
  • 原文地址:https://www.cnblogs.com/ws007/p/13920061.html
Copyright © 2011-2022 走看看