Nicksxs's Blog

What hurts more, the pain of hard work or the pain of regret?

0%

# 聊聊 Linux 下的 top 命令

发表于 2021-03-28 更新于 2022-06-11 分类于 Linux ， 小技巧 ， 命令 ， top ， top ， 排序 阅读次数： 阅读次数： Disqus：

top 命令在日常的 Linux 使用中，特别是做一些服务器的简单状态查看，排查故障都起了比较大的作用，但是由于这个命令看到的东西比较多，一般只会看部分，或者说像我这样就会比较片面地看一些信息，比如默认是进程维度的，可以在启动命令的时候加`-H`进入线程模式

    -H  :Threads-mode operation
                Instructs top to display individual threads.  Without this command-line option a summation of all threads in each process  is  shown.   Later
                this can be changed with the `H' interactive command.

这样就能用在 Java 中去 jstack 中找到对应的线程
其实还有比较重要的两个操作，
一个是在 top 启动状态下，按`c`键，这样能把比如说是一个 Java 进程，具体的进程命令显示出来
像这样
执行前是这样
执行后是这样
第二个就是排序了

    SORTING of task window

              For  compatibility,  this top supports most of the former top sort keys.  Since this is primarily a service to former top users, these commands
              do not appear on any help screen.
                    command   sorted-field                  supported
                    A         start time (non-display)      No
                    M         %MEM                          Yes
                    N         PID                           Yes
                    P         %CPU                          Yes
                    T         TIME+                         Yes

              Before using any of the following sort provisions, top suggests that you temporarily turn on column highlighting using the `x' interactive com‐
              mand.  That will help ensure that the actual sort environment matches your intent.

              The following interactive commands will only be honored when the current sort field is visible.  The sort field might not be visible because:
                    1) there is insufficient Screen Width
                    2) the `f' interactive command turned it Off

                 <  :Move-Sort-Field-Left
                     Moves the sort column to the left unless the current sort field is the first field being displayed.

                 >  :Move-Sort-Field-Right
                     Moves the sort column to the right unless the current sort field is the last field being displayed.

查看 man page 可以找到这一段，其实一般 man page 都是最细致的，只不过因为太多了，有时候懒得看，这里可以通过大写 `M` 和大写 `P` 分别按内存和 CPU 排序，下面还有两个小技巧，通过按 x 可以将当前活跃的排序列用不同颜色标出来，然后可以通过`<`和`>`直接左右移动排序列