linux网络命令(八)之top、htop

一、top命令

1、简介

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

2、常用选项

-b:以批处理模式操作;

-c:显示完整的治命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i<时间>:设置间隔时间;

-u<用户名>:指定用户名;

-p<进程号>:指定进程;

-n<次数>:循环显示的次数。

3、top命令输出各参数介绍

[[email protected] ~]# top -bn1
top - 21:50:48 up 4 min,  2 users,  load average: 0.00, 0.02, 0.00
Tasks: 102 total,   1 running, 101 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us,  0.8%sy,  0.0%ni, 98.4%id,  0.2%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1030416k total,   141908k used,   888508k free,    14684k buffers
Swap:  2047996k total,        0k used,  2047996k free,    51848k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          
    1 root      20   0  2900 1412 1204 S  0.0  0.1   0:01.34 init              
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd          
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0      
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0      
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0        
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0        
    7 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/1      
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1        
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1      
   10 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/1        
.................................

3.1、系统运行时间和平均负载

top - 21:50:48 up 4 min,  2 users,  load average: 0.00, 0.02, 0.00

说明:

  • 当前时间
  • 系统已运行的时间
  • 当前登录用户的数量
  • 相应最近5、10和15分钟内的平均负载。

3.2、任务

Tasks: 102 total,   1 running, 101 sleeping,   0 stopped,   0 zombie

说明:

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

3.3、CPU 状态

Cpu(s):  0.5%us,  0.8%sy,  0.0%ni, 98.4%id,  0.2%wa,  0.0%hi,  0.1%si,  0.0%st

说明:

  • 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处理时间的)。

3.4、内存使用状况

Mem:   1030416k total,   141908k used,   888508k free,    14684k buffers

Swap:  2047996k total,        0k used,  2047996k free,    51848k cached

说明:

接下来两行显示内存使用率,有点像‘free‘命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。 物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。内存显示可以用‘m‘命令切换。

3.5、字段列

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          
    1 root      20   0  2900 1412 1204 S  0.0  0.1   0:01.34 init              
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd          
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0      
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0      
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0        
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0        
    7 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/1      
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1        
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1      
   10 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/1

说明:

  • PID : 进程ID,进程的唯一标识符
  • USER : 进程所有者的实际用户名。
  • PR : 进程的调度优先级。这个字段的一些值是‘rt‘。这意味这这些进程运行在实时态。
  • NI : 进程的nice值(优先级)。越小的值意味着越高的优先级。
  • VIRT :进程使用的虚拟内存。
  • RES : 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
  • SHR : SHR是进程使用的共享内存。
S : 这个是进程的状态。它有以下不同的值:

D - 不可中断的睡眠态。

R – 运行态

S – 睡眠态

T – 被跟踪或已停止

Z – 僵尸态

  • %CPU : 自从上一次更新时到现在任务所使用的CPU时间百分比。
  • %MEM: 进程使用的可用物理内存百分比。
  • TIME+ : 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
  • COMMAND : 运行进程所使用的命令。

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

二、htop命令

1、htop命令简介

top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况。但其缺点就是只支持键盘操作,显示也单调。作为刚才Windows转到Linux的我来说,现在有了一个更好的选择:htop。htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top,或者说是top的高级版。

htop命令优点:

1) 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;

2) 可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;

3) 杀掉进程时可以直接选择而不需要输入进程号;

4) 通过鼠标操作条目;

5) 比top启动得更快;

2、安装htop

[[email protected] ~]# yum install -y htop

3、常用功能键

键入htop 命令,打开htop:

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。

下面是 F1~F10 的功能和对应的字母快捷键:

  • F1 : 查看htop使用说明
  • F2 : 设置
  • F3 : 搜索进程
  • F4 : 过滤器,按关键字搜索
  • F5 : 显示树形结构
  • F6 : 选择排序方式
  • F7 : 减少nice值,这样就可以提高对应进程的优先级
  • F8 : 增加nice值,这样可以降低对应进程的优先级
  • F9 : 杀掉选中的进程
  • F10 : 退出htop

命令行选项(COMMAND-LINE OPTIONS):

  • -C --no-color        使用一个单色的配色方案
  • -d --delay=DELAY     设置延迟更新时间,单位秒
  • -h --help           显示htop 命令帮助信息
  • -u --user=USERNAME    只显示一个给定的用户的过程
  • -p --pid=PID,PID…       只显示给定的PIDs
  • -s --sort-key COLUMN     依此列来排序
  • -v –version          显示版本信息

交互式命令(INTERACTIVE COMMANDS):

  • 上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
  • Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
  • U    取消标记所有进程
  • s    选择某一进程,按s:用strace追踪进程的系统调用
  • l    显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
  • I    倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
  • +, -   在树形模式下,展开或折叠子树
  • a (在有多处理器的机器上)    设置 CPU affinity: 标记一个进程允许使用哪些CPU
  • u    显示特定用户进程
  • M    按Memory 使用排序
  • P    按CPU 使用排序
  • T    按Time+ 使用排序
  • F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
  • K    显示/隐藏内核线程
  • H    显示/隐藏用户线程
  • Ctrl-L    刷新
  • Numbers    PID 查找: 输入PID,光标将移动到相应的进程上

4、显示说明

左边部分从上至下,分别为,cpu、内存、交换分区的使用情况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载情况、Uptime为系统运行的时间。

  • PID:进行的标识号
  • USER:运行此进程的用户
  • PRI:进程的优先级
  • NI:进程的优先级别值,默认的为0,可以进行调整
  • VIRT:进程占用的虚拟内存值
  • RES:进程占用的物理内存值
  • SHR:进程占用的共享内存值
  • S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
  • %CPU:该进程占用的CPU使用率
  • %MEM:该进程占用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间
  • COMMAND:进程启动的启动命令名称

5、htop使用说明

F1:显示帮助信息

F2 Htop设定

Setup 选项下的:

  • Meters

设定顶端的显示信息,分为左右两侧,Left column 表示左侧的显示的信息,Right column表示右侧显示的信息,如果要新加选项,可以选择Available meters添加,F5新增到上方左侧,F6新增到上方右侧。Left column和Right column下面的选项,可以选定信息的显示方式,有LED、Bar(进度条)、Text(文本模式),可以根据个人喜好进行设置

  • Display options

选择要显示的内容,按空格 x表示显示,选择完后,按F10保存

  • Colors

设定界面以什么颜色来显示。

  • Colums

作用是增加或取消要显示的各项内容,选择后F7(向上移动)、F8(向下移动)、F9(取消显示、F10(保存更改))根据各人需求,显示那些信息。

F3 搜索进程

在界面下按F3或直接输入”/”就可以直接进入搜索模式,是按照进程名进行搜索的。例如

搜索到的进程会用设定的颜色标记出来,方便查看。

F4:过滤器

相当于模糊查找,不区分大小写,下方输入要搜索的内容后,则界面只显示搜索到的内容,更加方便查看,例如:

F5:以树形方式显示

F6:排序方式

按下F6后会跳转至上图界面,让您选择以什么方式进行排序,在Sort by下选择您要以什么来排序。

F7,F8:调整进程nice值

F7表示减小nice值(增大优先级),F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19。

F9:杀死进程

选择某一进程按F9即可杀死此进程。

F10:退出htop

扩展学习:

https://linux.cn/thread-12037-1-1.html

http://my.oschina.net/leejun2005/blog/157910

http://my.oschina.net/leejun2005/blog/157910

http://www.cnblogs.com/me115/p/3842081.html

http://blog.csdn.net/sanshiqiduer/article/details/1933625

时间: 2024-10-14 05:31:50

linux网络命令(八)之top、htop的相关文章

基础的 Linux 网络命令,你值得拥有

导读 有抱负的 Linux 系统管理员和 Linux 狂热者必须知道的.最重要的.而且基础的 Linux 网络命令合集.在 It’s FOSS 我们并非每天都谈论 Linux 的“命令行方面”.基本上,我更专注于 Linux 的桌面端.但你们读者中的一些人在内部调查(仅面向 It's FOSS newsletter 订阅者)中指出,你们也想学些命令行技巧.速查表也受大部分读者所喜欢和支持. 为此,我编辑了一个 Linux 中基础网络命令的列表.它并不是一个教你如何使用这些命令的教程,而是一个命令

你必须了解的基础的 Linux 网络命令

Linux 基础网络命令列表 我在计算机网络课程上使用 FreeBSD,不过这些 UNIX 命令应该也能在 Linux 上同样工作. 连通性 ping <host>:发送 ICMP echo 消息(一个包)到主机.这可能会不停地发送直到你按下 Control-C.Ping 的通意味着一个包从你的机器通过 ICMP 发送出去,并在 IP 层回显.Ping 告诉你另一个主机是否在运行. telnet <host> [port]:与主机在指定的端口通信.默认的 telnet 端口是 23

Linux网络管理——Linux网络命令

3. Linux网络命令 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;} .note-content h2 {line-height: 1.6; color: #0AA

程序猿必知的 基础Linux 网络命令

在嵌入式开发中,我们常常用到各种linux命令,今天和大家分享的就是基础的 Linux网络命令,这是在网上无意中看到的一篇整理得非常好的文章,分享给大家,希望对大家有帮助.  有抱负的 Linux 系统管理员和 Linux 狂热者必须知道的.最重要的.而且基础的 Linux 网络命令合集.在 It's FOSS 我们并非每天都谈论 Linux 的"命令行方面".基本上,我更专注于 Linux 的桌面端.但你们读者中的一些人在内部调查(仅面向 It's FOSS newsletter 订

初中级DBA必须要学会的9个Linux网络命令,看看你有哪些还没用过

笔者不久前写了一篇文章<做DBA必须学会,不会会死的11个Linux基本命令>,博文地址为:http://blog.csdn.net/ljunjie82/article/details/45022355 此篇文章,则是写的初中级DBA必须要学会的9个Linux网络命令,这些命令对一个DBA在维护管理.故障排除方面能否高效的开展工作,起着举足轻重的作用. 1.ethtool Ethtool是用于查询及设置网卡参数的命令,用得最多的,莫过于查看网卡的速度,如百兆.千兆.万兆. 常用用法: (1)e

Linux进程管理工具之top,htop,glances,dstat

借助于本次课程学习外加查阅网上资料,特针对top,glances.dstat做简单介绍. 接触过linux的人都会知道,刚才所述的几个都是与windows中任务管理器一样,只需在命令行中键入这几种命令,就可以定时刷新显示当前系统上各设备使用情况.比如CPU占用百分比.负载,硬盘读写速率,网络传输情况. top 其中显示的从上到下,从左到右各个的含义为: top:当前系统时间: up:系统运行时长: user:当前登陆的用户数: load average:平均负载(逗号隔开的三个数分别为过去一分钟

最常用的Windows、Linux网络命令总结

题记:工作中经常用到Windows.Linux的网络命令,记录总结出最常用的,一方面对Windows.Linux做个对比:另一方面加深对网络命令的认知. 有不全的地方,大家补上.一起探讨下,谢谢! 2014-11-29 pm10:29思于家中床前 作者:铭毅天下 转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/41604621 如果感觉本文对您有帮助,请点击'顶'支持一下,您的支持是我坚持写作最大的动力,谢谢!

linux网络命令详解

1 ifconfig命令 格式:ifconfig  {inerface} {options} options参数有:up,down,mtu,netmask,broadcast 单独ifconfig命令:查看网络所有端口: 范例1:ifconfig eth0 192.168.1.0 netmask 255.255.0.0 mtu 8000(配置端口eth0的ip地址) 范例2:ifconfig eth0:0 192.168.50.50(表示在eth0再仿真出来一个网络接口) 注意:ifconfig

Linux监控命令整理(top,free,vmstat,iostat,mpstat,sar,netstat)

1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu.内存和执行时间进行排序 1.1.2 参数说明 命令行启动参数: 用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] -b : 批次模式运行.通常用作来将top的输出的结果传送给其他程式或储存成文件 -c : 显示执行任务的命令行 -d : 设定延迟时间 -h : 帮助 -H : 显示线