---
title: top工具
description: "top是最常用的Linux性能监测工具之一。通过top工具可以监视进程和系统整体性能。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0007.html
sourcePath: /source/zh/perftuning/tuningtip/kunpengtuning_12_0007.html
indexId: c2407f921d4c9050c2bb31bf912fc9df6d6e160dbdeb4b16fea40f975163cbe358
---
# top工具

#### 介绍

top是最常用的Linux性能监测工具之一。通过top工具可以监视进程和系统整体性能。

命令参考举例：

| 命令 | 说明 |
| --- | --- |
| top | 查看系统整体的CPU、内存资源消耗。 |
| top执行后输入1 | 查看每个CPU核资源使用情况。 |
| top执行后输入F，并选择P选项 | 查看线程执行过程中是否调度到其它CPU核。 |
| top \-p $PID \-H | 查看某个进程内所有线程的CPU资源占用。 |


#### 安装方式

系统自带，无需安装。


#### 使用方法

1. 使用top命令统计整体CPU、内存资源消耗。

  - CPU项：显示当前总的CPU时间使用分布。

    - us表示用户态程序占用的CPU时间百分比。
    - sy表示内核态程序所占用的CPU时间百分比。
    - wa表示I/O等待占用的CPU时间百分比。
    - hi表示硬中断所占用的CPU时间百分比。
    - si表示软中断所占用的CPU时间百分比。
      通过这些参数我们可以分析CPU时间的分布，是否有较多的I/O等待。在执行完调优步骤后，我们也可以对CPU使用时间进行前后对比。如果在运行相同程序、业务情况下CPU使用时间降低，说明性能有提升。

  - KiB Mem：表示服务器的总内存大小以及使用情况。
  - KiB Swap：表示当前所使用的Swap空间的大小。Swap空间即当内存不足的时候，把一部分硬盘空间虚拟成内存使用。如果当前所使用的Swap空间大于0，可以考虑优化应用的内存占用或增加物理内存。
2. 在top命令执行后按1，查看每个CPU核的使用情况。
  通过该命令可以查看单个CPU核的使用情况，如果CPU占用集中在某几个CPU核上，可以结合业务分析触发原因，从而找到优化思路。

3. 选中top命令的P选项，查看线程运行在哪些CPU核上。
  在top命令执行后按F，可以进入top命令管理界面。在该界面通过上下键移动光标到P选项，通过空格键选中后按Esc退出，即可显示出线程运行的CPU核。观察一段时间，若业务线程在不同NUMA节点内的CPU核上运行，则说明存在较多的跨NUMA访问，可通过NUMA绑核进行优化。

4. 使用top -p $PID -H命令观察进程中每个线程的CPU资源使用。
  “-p”后接的参数为待观察的进程ID。通过该命令可以找出消耗资源多的线程，随后可根据线程号分析线程中的热点函数、调用过程等情况。
