访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

linux top命令详解

时间:2019-07-19

linux解压命令_linux重启命令_linux命令

top 命令主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息。下面的截图展示了 top 命令默认提供的信息:

系统平均负载

top 命令输出中的第一行是系统的平均负载,这和 uptime 命令的输出是一样的:

top - 13:18:59 up 223 days, 15:19,  5 users,  load average: 0.15, 0.14, 0.13

13:18:59 表示系统当前时间。

up 223 days 表示系统最后一次启动后总的运行时间。

5 user 表示当前系统中只有一个登录用户。

cpu利用率 系统cpu利用率+用户cpu利用率 cpu相关指标 average load ——平均负载 上一分钟同时处于“就绪”状态的平均进程数 在过去的1分钟,的平均负载 一般来说只要每个cpu的当前活动进程数不大于3那么系统的性能就是良好的,如果每个cpu的任务数大于5,那么就表示这台机器的性能有严重问题。例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 。子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟执行一次。

小写字母 i 可以控制是否显示系统平均负载信息。

任务信息汇总

在 linux 系统中,一般把进程和线程统称为任务。第二行信息是对当前系统中所有任务的统计:

Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie

Tasks:270 total 表示当前系统的进程总数。

1 running 表示当前系统中有 1 个正在运行的进程。

269 sleeping 表示当前系统中有 269 个休眠的进程。

0 stopped 表示停止状态的进程数为 0。

0 zombie 表示处于僵死状态的进程数为 0。

CPU 信息

linux命令_linux重启命令_linux解压命令

第三行显示 CPU 的使用情况:

Cpu(s):  6.5%us,  0.5%sy,  0.0%ni, 93.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

这里一共有八个字段,是我们了解 CPU 负载的主要依据,下面我们逐一介绍。

us

进程在用户地址空间中消耗 CPU 时间的百分比。像 shell程序、各种语言的编译器、数据库应用、web 服务器和各种桌面应用都算是运行在用户地址空间的进程。这些程序如果不是处于 idle 状态,那么绝大多数的 CPU 时间都是运行在用户态。

sy

进程在内核地址空间中消耗 CPU 时间的百分比。所有进程要使用的系统资源都是由 Linux 内核处理的。当处于用户态(用户地址空间)的进程需要使用系统的资源时,比如需要分配一些内存、或是执行 IO 操作、再或者是去创建一个子进程,此时就会进入内核态(内核地址空间)运行。事实上,决定进程在下一时刻是否会被运行的进程调度程序就运行在内核态。对于操作系统的设计来说,消耗在内核态的时间应该是越少越好。在实践中有一类典型的情况会使 sy 变大,那就是大量的 IO 操作,因此在调查 IO 相关的问题时需要着重关注它。

ni

ni 是 nice 的缩写,可以通过 nice 值调整进程用户态的优先级。这里显示的 ni 表示调整过 nice 值的进程消耗掉的 CPU 时间。如果系统中没有进程被调整过 nice 值,那么 ni 就显示为 0。

id

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

wa

CPU 等待磁盘 IO 操作的时间。和 CPU 的处理速度相比,磁盘 IO 操作是非常慢的。有很多这样的操作,比如:CPU 在启动一个磁盘读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU 只能处于空闲状态。Linux 系统在计算系统平均负载时会把 CPU 等待 IO 操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过 wa 来判断系统的性能瓶颈是不是过多的 IO 操作造成的。

 上一个教程:Linux常用命令之ls