登录 |  注册
首页 >  服务器/安全 >  Linux 入门教程笔记 >  Linux top 命令详解

Linux top 命令详解

Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。

linux.jpg

1.Top 命令输出

首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:

linux2.jpg

前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。

1.1 系统运行时间和平均负载

linux3.jpg

top命令的顶部显示与uptime命令相似的输出。

这些字段显示:

  • 当前时间

  • 系统已运行的时间

  • 当前登录用户的数量

  • 相应最近5、10和15分钟内的平均负载。

可以使用’l’命令切换uptime的显示。

1.2 任务

linux4.jpg

第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。

1.3 CPU 状态

linux5.jpg

下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:

  • us, user: 运行(未调整优先级的) 用户进程的CPU时间

  • sy,system: 运行内核进程的CPU时间

  • ni,niced:运行已调整优先级的用户进程的CPU时间

  • wa,IO wait: 用于等待IO完成的CPU时间

  • hi:处理硬件中断的CPU时间

  • si: 处理软件中断的CPU时间

  • st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

可以使用’t’命令切换显示。

1.4 内存使用

linux6.jpg

接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。

内存显示可以用’m’命令切换。

1.5 字段/列

linux7.jpg

在横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。

默认上,top显示这些关于进程的属性:

PID

进程ID,进程的唯一标识符

USER

进程所有者的实际用户名。

PR

进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。

NI

进程的nice值(优先级)。越小的值意味着越高的优先级。

VIRT

进程使用的虚拟内存。

RES

驻留内存大小。驻留内存是任务使用的非交换物理内存大小。

SHR

SHR是进程使用的共享内存。

S

这个是进程的状态。它有以下不同的值:

  • D – 不可中断的睡眠态。

  • R – 运行态

  • S – 睡眠态

  • T – 被跟踪或已停止

  • Z – 僵尸态

%CPU

自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM

进程使用的可用物理内存百分比。

TIME+

任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

COMMAND

运行进程所使用的命令。

还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。

<<上一课程
下一课程>>
推荐文章
  • 1、首先,打开VM虚拟,在顶部点击虚拟机的选项卡,再在往下弹出的菜单中点击安装vmwaretools。2、然后,在虚拟机系统中弹出的自动播放的窗口中点击运行setup64.exe。3、接着,在进入到的欢迎界面的窗口中点击底部的下一步按钮。4、之后,根据界面的跳转和提示,再点击底部的安装按钮。5、如图
  • netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,
  • jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk版本是jdk8.类加载统计:Loaded:加载class的数量Bytes:所占用空间大小Unloaded:未加载数量By
  • 1.打开网址:https://visualvm.github.io/index.html2.点击Plugins3.点击PluginsCenters4.选择和自己JDK版本对应的5.点击VisualGC6.启动VisualVM cmd输入:jvisualvm,启动VisualVM7.点击工具中的插件8
  • JVM监控工具VisualVM:jvisualvm.exeVisualVM是Netbeans的profile子项目,已在JDK6.0update7中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC
  • 注册服务打开cmd,进入到【部署tomcat的根目录】Tomcat7.0.65_1/bin,输入 service.batinstall 服务名(修改服务名称)比如我注册的 service.bat install  yukx如果一台服务器同时注册多个tomcat服务,也是按照以下步骤打开Tomcat8
学习大纲