美文网首页
top命令使用总结

top命令使用总结

作者: Oceans言欢 | 来源:发表于2019-07-15 18:14 被阅读0次

简介

top命令显示系统上正在运行的进程,用来监视服务的负载。

输出

系统运行时间和平均负载

top |uptime

显示:

 11:03:34 up 12 days, 20:16,  2 users,  load average: 0.02, 0.11, 0.16

字段分别表示:

  • 当前时间
  • 系统已经运行的时间
  • 当前登录用户的数量
  • 最近5分钟、10分钟、15分钟的平均负载
    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

任务

该行显示的是任务或者进程的总结。会显示全部进程的数量。

Tasks:  76 total,   1 running,  75 sleeping,   0 stopped,   0 zombie

字段表示:

  • total 全部数量
  • running 正在运行
  • sleeping 休眠
  • stopped 停止
  • zombie 僵尸进程

CPU状态

Cpu(s):  2.7%us,  0.9%sy,  0.0%ni, 96.2%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st

该行显示的是CPU的状态

  • us(user) 用户空间占用的CPU百分比
  • sy(system) 内核空间占用的CPU百分比
  • ni(niced) 改变过优先级的进程占用的CPU百分比
  • id 空闲占用的CPU百分比
  • wa(IO wait) IO等待占用的CPU百分比
  • hi 硬中断占用的CPU百分比
  • si 软中断占用的百分比
  • st 这个虚拟机被hypervisor偷去的CPU时间

在top视图下按1会显示每个逻辑CPU的状况:

Cpu0  : 16.3%us,  4.8%sy,  0.0%ni, 77.5%id,  0.0%wa,  0.0%hi,  1.4%si,  0.0%st
Cpu1  :  3.3%us,  1.3%sy,  0.0%ni, 95.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  1.0%us,  0.7%sy,  0.0%ni, 98.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  1.0%us,  0.7%sy,  0.0%ni, 98.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

如果不按1 则在top视图里面显示的是所有cpu的平均值。

查看CPU的相关信息

cat /proc/cpuinfo

输出:

processor   : 0 
vendor_id   : GenuineIntel
cpu family  : 6
model       : 62
model name  : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
stepping    : 4
microcode   : 1
cpu MHz     : 2593.746
cache size  : 20480 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 4 
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm xsaveopt
bogomips    : 5187.49
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
  • 总核数 = 物理CPU个数 X 每颗物理CPU的核数

  • 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

物理CPU个数:

cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l

每个物理CPU的核心数

cat /proc/cpuinfo |grep "cpu cores" |uniq

查看逻辑CPU的个数

cat /proc/cpuinfo |grep "processor" |wc -l

查看CPU信息

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

查看CPU波动情况 尤其是多核机器

mpstat -P ALL 10 // 该命令会10s采样CPU的使用情况

内存使用

接下来两行显示内存的使用情况 输出类似free命令

Mem:   8061236k total,  7587396k used,   473840k free,   155740k buffers
Swap:        0k total,        0k used,        0k free,  6170164k cached

物理内存

字段表示:

  • total 物理内存总量(K)
  • used 使用中的内存总量(K)
  • free 空闲内存总量(K)
  • buffers 缓存的内存总量(K)

used使用中的内存重量指现在系统内核控制的内存数,free空间内存指内核还未纳入其管理范围的数量。used中纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在还可以被重复使用的内存,这些可以重新使用的内存还未交还到free中。
粗略计算可用内存数 计算公式: 第四行free + 第四行buffers + 第五行cached

交换分区

交换分区字段和物理内存字段含义相同。

内存不够的现象

在top命令下如果swap分区的used的值在不断发生变化,说明内核不断进行内存和swap的数据交换,表示内存真正的不够用。

进程

字段显示

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  • PID 进程号 进程的唯一标识符
  • USER 进程的所有者
  • PR 进程的调度优先级 RT表示进程运行在实时态
  • NI nice值 负值表示高优先级 正值表示低优先级 越小的值意味着越高的优先级。
  • VTRT 进程使用的虚拟内存总量(Kb) VTRT = SWAP + RES
  • RES 进程使用的、未被换出的物理内存大小
  • SHR 共享内存的大小
  • S 进程的状态 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU 占用CPU时间百分比
  • %MEM 进程使用的物理内存百分比
  • TIME+ 进程使用的CPU时间总计
  • COMMAND 进程名称

命令使用

监控指定的进程

top -p PID

设置top的显示间隔

top -d 1 //1s显示一次 默认3s

显示完成的进程命令/名称

top -c // 适用于查看进程比如java的启动命令

显示指定进程下的线程

top -Hp <PID>

相关文章

  • top命令使用总结

    简介 top命令显示系统上正在运行的进程,用来监视服务的负载。 输出 系统运行时间和平均负载 显示: 字段分别表示...

  • top命令

    问题 Liunx的top命令如何使用? top命令中的VIRT是什么意思? top命令中的RES是什么意思? to...

  • 操作命令

    Linux使用top与free命令查看CPU与内存使用情况 top命令: 显示内容解释: 第一行top分别为:当前...

  • 2019-02-27 Top命令技巧

    2019-02-27 Top命令技巧 Top命令在使用时是有技巧的。 常见的快捷键汇总如下: 其他的命令:top ...

  • Linux常用命令(更新ing)

    系统常用命令 目录、文件操作 性能 top #使用top命令查看资源占用情况 pidstat ...

  • Linux查看CPU,内存,磁盘,进程常用命令

    1、查看cpu使用 单核cpu:终端输入#top命令,可以查看cpu的使用情况。多核cpu:终端输入#top命令后...

  • 关于Linux文件目录/proc

    一句话总结 通过strace命令跟踪可知,经常使用的ps、top、free等命令都是通过读/proc目录下的文件获...

  • jvm 定位cpu热点堆栈信息

    1. 使用top命令查看占用cpu过高进程,获取PID 2. 使用top -Hp命令获取进程中线程信息(其中H:线...

  • java服务CPU占用高,排查解决

    命令使用 top命令按内存和cpu排序cpu排序:shift+p内存排序:shift+m 排查步骤 1.使用top...

  • 2.java项目服务器CPU飙升

    1.使用 top 命令 2.使用命令 top -Hp pid 查看哪个线程占用CPU多 3.把pid转换为16进...

网友评论

      本文标题:top命令使用总结

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