登陆

Linux: Top指令你了解多少?

admin 2019-10-31 150人围观 ,发现0个评论

Top命令你了解多少?


一、 top命令作用

相对于 ps 是获取一个时间点的进程状态, top 则可以持续侦测进程运作的状态!

二、 常用参数

[root@study ~]# 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 的Linux: Top指令你了解多少?功能非常多!可以用的按键也非常的多!可以参考 man top 的内部说明文件! 这些只是常用的参数而已!

三、案例

3.1 案例一:每2秒更新一次top

3.1.1 命令:

top -d 2

3.1.2 结果如下图:

Top命令你了解多少?

注意:

1. top 也是个挺不错的进程观察工具!但不同于 ps 是静态的结果输出, top 这个程序可以持续的监测整个系统的进程工作状态。

2. 在预设的情况下,每次更新进程资源的时间为 5 秒,不过,可以使用 -d 来进行修改。

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

  • 第一行(top...):这一行显示的信息分别为:
  1. 目前的时间,亦即是 19:04:59 那个项目;
  2. 开机到目前为止所经过的时间,亦即是 up 15 days, 19:54, 那一项; 已经登入系统的用户人数,亦即是 2 users, 项目;
  3. 系统在 1, 5, 15 分钟的平均工作负载。我们在第十五章谈到的 batch 工作方式为负载小于 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 下半部分的画面,则是每个 procesLinux: Top指令你了解多少?s 使用的资源情况。比较需要注意的是:

  • PID :每个 process 的 ID 啦!
  • USER:该 process 所属的使用者;
  • PR :Priority 的简写,进程的优先执行顺序,越小越早被执行;
  • NI :Nice 的简写,与 Priority 有关,Linux: Top指令你了解多少?也是越小越早被执行;
  • %CPU:CPU 的使用率;
  • %MEM:内存的使用率;
  • TIME+:CPU 使用时间的累加;

注意:

1. top 预设使用 CPU 使用率 (%CPU) 作为默认排序
2, 如果你想要使用内存使用率排序,则可以按下『M』, 若恢复则按下『P』即可。
3. 如果想要离开 top 则按下『 q 』吧!

3.2 案例二: 将 top 的信息进行 2 次,然后将结果输出到 /tmp/top.txt

top -b -n 2 > /tmp/top.txt

Top命令你了解多少?

查看文件:

Top命令你了解多少?

3.3. 案例三:查看执行进程的活动状态

我们以当前登录的bash进程为例,通过命令echo $$ 获取当前bash的进程号441

echo $$

Top命令你了解多少?

接下来执行命令,每两秒钟查看一下进程

Top命令你了解多少?

结果,只有一个进程被列出,达到我们的目的。

3.4 案例四:修改NI的值

我们要将案例三中的NI为0,修改为10.

3.4.1 在案例三的基础上,我们出小写字母 r

Top命令你了解多少?

3.4.2 直接输入回车键

Top命令你了解多少?

3.4.3 输出 10 , 回车

Top命令你了解多少?

3.4.4 修改成功,我们能看到如下图

Top命令你了解多少?

至于PR、NI的作用以后的文章中在说明。

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP