美文网首页Linux学习与应用技巧
Linux top 查看CPU、内存、线程等信息

Linux top 查看CPU、内存、线程等信息

作者: PC_Repair | 来源:发表于2019-10-31 10:36 被阅读0次

top 命令用于查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过 top 命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高…. 同时可以实时显示 process 的动态。

使用权限:所有使用者。

top 显示信息详解

[root@localhost wbxbuilds]# top
top - 01:52:19 up 32 days, 15:18,  1 user,  load average: 0.03, 0.06, 0.10
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.6 us,  0.3 sy,  0.0 ni, 97.5 id,  1.6 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8010512 total,  1043328 free,  3339404 used,  3627780 buff/cache
KiB Swap:  3145724 total,  3142272 free,     3452 used.  4226060 avail Mem 
# top 命令第一行
top - 01:52:19 up 32 days, 15:18,  1 user,  load average: 0.03, 0.06, 0.10
  • 01:52:19 表示系统当前时间。
  • up 32 days 表示系统最后一次启动后总的运行时间。
  • 1 user 表示当前系统中只有一个登录用户。
  • load average: 0.03, 0.06, 0.10 表示系统的平均负载,最后的三个数字分别表示最后一分钟的系统平均负载,最后五分钟的系统平均负载,最后十五分钟的系统平均负载。

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

# top 命令第二行
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
  • Tasks: 206 total 表示当前系统的进程总数。
  • 1 running 表示当前系统中有 1 个正在运行的进程。
  • 205 sleeping 表示当前系统中有 205 个休眠的进程。
  • 0 stopped 表示停止状态的进程数为 0。
  • 0 zombie 表示处于僵死状态的进程数为 0。
# top 命令第三行, cpu 状态
%Cpu(s):  0.6 us,  0.3 sy,  0.0 ni, 97.5 id,  1.6 wa,  0.0 hi,  0.0 si,  0.0 st

依次对应如下:

  • us 进程在用户地址空间中消耗 CPU 时间的百分比。

  • sy 进程在内核地址空间中消耗 CPU 时间的百分比。

  • ni 这里显示的 ni 表示调整过 nice 值的进程消耗掉的 CPU 时间。

  • id CPU 处于 idle 状态的百分比。一般情况下, us + ni + id 应该接近 100%。

  • wa CPU 等待磁盘 IO 操作的时间。

  • hi 表示处理硬中断消耗的时间。

    • 硬中断是硬盘、网卡等硬件设备发送给 CPU 的中断消息,当 CPU 收到中断消息后需要进行适当的处理(消耗 CPU 时间)。
  • si 表示处理软中断消耗的时间。

    • 软中断是由程序发出的中断,最终也会执行相应的处理程序(消耗 CPU 时间)。
  • st: 只有 Linux 在作为虚拟机运行时 st 才是有意义的。它表示虚机等待 CPU 资源的时间(虚机分到的是虚拟 CPU,当需要真实的 CPU 时,可能真实的 CPU 正在运行其它虚机的任务,所以需要等待)。

# top 命令第四行,内存状态
KiB Mem :  8010512 total,  1043328 free,  3339404 used,  3627780 buff/cache
# top 命令第五行,内存交换分区
KiB Swap:  3145724 total,  3142272 free,     3452 used.  4226060 avail Mem 

上述类似 Linux free 指令展示的内存信息。

任务详情

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   
19021 rabbitmq  20   0 3389628 105812   4320 S   4.0  1.3 826:20.61 beam.smp
 1124 root      20   0  582176  31204  14476 S   0.3  0.4   4:17.64 containerd
 4954 root      20   0 5760308 965756  14436 S   0.3 12.1  21:14.08 java
22793 root      20   0  196836  45592  32860 S   0.3  0.6  56:26.12 consul 
29271 root      20   0  157764   2344   1580 R   0.3  0.0   0:01.36 top 
    1 root      20   0  191020   4016   2572 S   0.0  0.1   0:49.52 systemd            
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.89 kthreadd  
    3 root      20   0       0      0      0 S   0.0  0.0   0:01.00 ksoftirqd/0   
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    7 root      rt   0       0      0      0 S   0.0  0.0   0:02.14 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S   0.0  0.0   7:12.66 rcu_sched   
   10 root      rt   0       0      0      0 S   0.0  0.0   0:09.27 watchdog/0
   11 root      rt   0       0      0      0 S   0.0  0.0   0:07.77 watchdog/1

默认情况下这里会显示 12 列数据:

  • PID 表示进程 ID。
  • USER 表示进程所有者的有效用户名称。简单说就是以哪个用户权限启动的进程。比如上图中有两个进程是用户 nick 启动的,还有一个是用户 prometheus 启动的,其它都是 root 用户启动的。
  • PR 表示进程执行的优先级,PR 的值是以 Linux 内核的视角看到的进程执行的优先级。
  • NI 从用户视角看到的进程执行优先级。注意上图中 NI 值为 -20 的两个进程,它们的 PR 值都是 0。
  • VIRT表示进程使用的虚拟内存大小。
  • RES 表示进程使用的物理内存大小。
  • SHR 表示进程使用的共享内存的大小。
  • S 表示进程当前的状态。S 值有下面几种:
    • D 不可中断的睡眠状态(uninterruptible sleep)
    • I idle 状态
    • R 进程在 running 队列中,正在运行或准备运行(running)
    • S 睡眠状态(sleeping)
    • T 停止状态(stopped by job control signal)
    • t 跟踪状态(stopped by debugger during trace)
    • Z 僵尸状态(zombie)
  • %CPU 表示进程使用 CPU 的百分比。
  • %MEM 表示进程使用内存的百分比。
  • TIME+ 表示进程累计使用的 CPU 时间。
  • COMMAND 表示运行进程对应的程序。

参考:
https://www.cnblogs.com/sparkdev/p/8176778.html

相关文章

  • linux怎样使用top命令查看系统状态(转)

    Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有...

  • Linux中top显示的信息详解

    一.信息显示 Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过t...

  • Linux top 查看CPU、内存、线程等信息

    top 命令用于查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过 top 命令可以有效的发现系统...

  • 一些命令

    查看cpu信息:top查看cpu合数:top i查看每个线程的性能信息: top H把线程信息down到一个文件中...

  • 常用命令之TOP

    TOP Android中TOP命令用于查看当前CPU负载、内存占用、进程信息等。 adb shell "top -...

  • Linux面试常考命令总结

    1. linux查看内存,cpu占用命令? 使用top,查看cpu占用情况: 使用free,查看内存占用情况: 使...

  • Linux 基本操作

    查看CPU信息 查看内存使用情况 查看linux支持的最大进程数 查看linux支持的最大线程数 查看当前用户最大...

  • 常用Linux命令

    看CPU和内存占用top查看某一个进程所有线程的CPU和内存占用top -Hp {PID}查看内存使用情况free...

  • Ubuntu系统CPU、内存、网络、进程监控工具

    1.1 Top 作用:查看在系统中运行的进程或线程,以及CPU、内存、交换分区等运行方法:sudo top运行结果...

  • 线上java程序CPU占用过高问题排查

    top 命令查看CPU、内存等使用情况 定位问题线程 ps -mp pid -o THREAD,tid,time ...

网友评论

    本文标题:Linux top 查看CPU、内存、线程等信息

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