top 命令的使用

top 也是一个查看系统进程的工具 和ps不同的是 top是使用动态持续性的监控整个系统的工作状态,默认是5,IAO刷新一次 可以使用-d 来修改。

我们先看下top的基本参数:

top [-d 数字] | top [-bnp]
选项与参数:
-d  :后面可以接秒数,就是整个程序画面升级的秒数。默认是 5 秒;
-b  :以批量的方式运行 top ,还有更多的参数可以使用喔!
      通常会搭配数据流重导向来将批量的结果输出成为文件。
-n  :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
-p  :指定某些个 PID 来进行观察监测而已。
在 top 运行过程当中可以使用的按键命令:
? :显示在 top 当中可以输入的按键命令;
P :以 CPU 的使用资源排序显示;
M :以 Memory 的使用资源排序显示;
N :以 PID 来排序喔!
T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。
k :给予某个 PID 一个讯号  (signal)
r :给予某个 PID 重新制订一个 nice 值。
q :离开 top 软件的按键。

 

top 主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行,显示的内容依序是:

  • 第一行(top...):这一行显示的资讯分别为:

    • 目前的时间,亦即是 17:03:09 那个项目;

    • 启动到目前为止所经过的时间,亦即是 up 7days, 16:16 那个项目;

    • 已经登陆系统的使用者人数,亦即是 1 user项目;

    • 系统在 1, 5, 15 分钟的平均工作负载。工作方式为负载小於 0.8 就是这个负载罗!代表的是 1, 5, 15 分钟,系统平均要负责运行几个程序(工作)的意思。 越小代表系统越闲置,若高於 1 得要注意你的系统程序是否太过繁复了!

  • 第二行(Tasks...):显示的是目前程序的总量与个别程序在什么状态(running, sleeping, stopped, zombie)。 比较需要注意的是最后的 zombie 那个数值,如果不是 0 !好好看看到底是那个 process 变成僵尸了吧?

  • 第三行(Cpus...):显示的是 CPU 的整体负载,每个项目可使用 ? 查阅。需要特别注意的是 %wa ,那个项目代表的是 I/O wait, 通常你的系统会变慢都是 I/O 产生的问题比较大!因此这里得要注意这个项目耗用 CPU 的资源喔! 另外,如果是多核心的设备,可以按下数字键『1』来切换成不同 CPU 的负载率。

  • 第四行与第五行:表示目前的实体内存与虚拟内存 (Mem/Swap) 的使用情况。 再次重申,要注意的是 swap 的使用量要尽量的少!如果 swap 被用的很大量,表示系统的实体内存实在不足!

  • 第六行:这个是当在 top 程序当中输入命令时,显示状态的地方。

至於 top 下半部分的画面,则是每个 process 使用的资源情况。比较需要注意的是:

  • PID :每个 process 的 ID 啦!

  • USER:该 process 所属的使用者;

  • PR :Priority 的简写,程序的优先运行顺序,越小越早被运行;

  • NI :Nice 的简写,与 Priority 有关,也是越小越早被运行;

  • %CPU:CPU 的使用率;

  • %MEM:内存的使用率;

  • TIME+:CPU 使用时间的累加; 

 

top 默认使用 CPU 使用率 (%CPU) 作为排序的重点,如果你想要使用内存使用率排序,则可以按下『M』, 若要回复则按下『P』即可。如果想要离开 top 则按下『 q 』吧!如果你想要将 top 的结果输出成为文件时, 可以这样做:

 

将 top 的资讯进行 2 次,然后将结果输出到 /tmp/top.txt
top -b -n 2 > /tmp/top.txt

 

指定查看固定pid的进程

top -d 2 -p 进程号  每2秒刷新显示一次 该进程号的进程

 

top还有很多其他的按键 可以用h来具体查看。

wKiom1Ry84CDy_y1AAK4JKmICpg085.jpg

posted @ 2021-01-14 14:03  岁月倾城CTO  阅读(307)  评论(0编辑  收藏  举报