一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)
概 述
本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用。正所谓磨刀不误砍柴工,花点时间总结一下是值得的!
本文内容脑图如下:
top 命令
top 命令我想大家都挺熟悉吧! Linux 下的 top 命令有点类似于 Windows 下的任务管理器,能够实时动态地监控并显示系统中各个进程的资源占用状况,是 Linux 下常用的性能监控和分析工具。
一个常见的 top 命令的执行视图如下:
下面我们详细在图中标注出每个指标的含义,认真看图对比理解吧(必要时可保存该图备查哦):
怎么样,理解起来够直观了吧,至于 top 命令的其他一些带参数用法自行 help 吧,太多了,不再赘述了!
htop 命令
htop
是 Linux 下一个交互式的进程浏览器,可以完全替代上一小节中所讲的 top 命令,与 top 命令对比,htop 命令有如下优点:
- 直接支持鼠标点击操作( 就问你 6 不 6 !)
- 画面可以水平垂直滚动,更像一个窗口
- 可以跟踪进程,显示进程打开的文件
- 支持进程的树状图显示
- 支持按照名称查找进程
总之可视化方面做得 66 的,我们来体验一下:
就该图来说,分成三部分:
- 顶部是资源使用情况概览,这进度条看着就挺酷炫
- 中间是进程表,和 top 命令的类似
- 下面是操作指引和快捷键清晰明了
我们接下来再来看一些图形化的操作:
- 进程树状图
- 鼠标点击各种指标来排序
- 跟踪进程功能
iotop 命令
iotop
是用来监控硬盘 IO 的使用情况,UI 界面和 top 类似,其中包括 PID、用户、I/O、进程 等相关信息。
Linux 下系统自带的 IO 统计工具如 iostat,nmon 等大多数是只能统计到 per 设备的读写情况,如果你想知道每个进程是如何使用 IO 的就比较麻烦,使用 iotop 命令可以很方便的查看。
iftop 命令
iftop 是 Linux 系统的流量和带宽监控工具,可用于查看实时的网络流量、监控 TCP/IP 连接等,也是非常有用的!
我们来做一下实验,命令执行后效果如下:
iftop
命令常用的参数如下,这里做个小规模总结:
-i
设定监测的网卡,如:# iftop -i eth1
-B
以 bytes 为单位显示流量 (默认是 bits),如:# iftop -B
-n
使 host 信息默认直接都显示 IP,如:# iftop -n
-N
使端口信息默认直接都显示端口号,如:# iftop -N
-F
显示特定网段的进出流量,如# iftop -F 10.10.1.0/24
或# iftop -F 10.10.1.0/255.255.255.0
-h
( display this message ),帮助,显示参数信息-p
使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的 IP 信息;-b
使流量图形条默认就显示;
再来总结一下,进入 iftop 视图画面后的一些操作命令 (注意大小写):
- 按
h
切换是否显示帮助; - 按
n
切换显示本机的 IP 或主机名; - 按
s
切换是否显示本机的 host 信息; - 按
d
切换是否显示远端目标主机的 host 信息; - 按
t
切换显示格式为 2 行 /1 行 /只显示发送流量 /只显示接收流量; - 按
N
切换显示端口号或端口服务名称; - 按
S
切换是否显示本机的端口信息; - 按
D
切换是否显示远端目标主机的端口信息; - 按
p
切换是否显示端口信息; - 按
P
切换暂停 /继续显示; - 按
b
切换是否显示平均流量图形条; - 按
T
切换是否显示每个连接的总流量; - 按
l
打开屏幕过滤功能,输入要过滤的字符,比如 ip,按回车后,屏幕就只显示这个 IP 相关的流量信息; - 按
L
切换显示画面上边的刻度;刻度不同,流量图形条会有变化; - 按
j
或按k
可以向上或向下滚动屏幕显示的连接记录; - 按
1
或2
或3
可以根据右侧显示的三列流量数据进行排序; - 按
<
根据左边的本机名或 IP 排序; - 按
>
根据远端目标主机的主机名或 IP 排序; - 按
o
切换是否固定只显示当前的连接;
后 记
由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!
注: 本文首发于 My Personal Blog,欢迎光临 小站
来源: https://www.v2ex.com/t/490287#reply22
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)的更多相关文章
- 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
- [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等
详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...
- 详解Linux系统中的文件名和文件种类以及文件权限
Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...
- 详解Linux系统中10个最危险的命令
概述 大多数的朋友都是主要用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中很多都是键盘+命令操作电脑的,Linux命令行使用很有趣,但有时候也很危险,尤其是在你不确定你自 ...
- 详解linux系统的启动过程及系统初始化
一.linux系统的启动流程 关于linux系统的启动流程我们可以按步进行划分为如下: POST加电自检 -->BIOS(Boot Sequence)-->加载对应引导上的MBR(boot ...
- 详解Linux系统下PXE服务器的部署过程
在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量. 但是批量自动化安装服务器的基础是网络启动服务器(bootserver). 下面我们就介绍一下 网络启动服务器的 安装和配置方 ...
- 详解linux运维工程师入门级必备技能
详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- 详解Linux运维工程师
运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...
随机推荐
- 用postman做接口测试实例
使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...
- (转)Python 3 collections.defaultdict() 与 dict的使用和区别
原文:https://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html 在Python里面有一个模块collections,解释是数据类型 ...
- Git&GitHub学习日志
Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.作为一个 ...
- Redis-cli命令总结
连接操作相关的命令 默认直接连接 远程连接-h 192.168.1.20 -p 6379 ping:测试连接是否存活如果正常会返回pong echo:打印 select:切换到指定的数据库,数据库索 ...
- jieba分词过程
jieba分词最重要的就是字典,我们一般用jieba的话是用的它通用的字典,这样在特定的环境中无法分成我们想要的效果,我们需要根据我们自己的生产环境自己添加我们的字典,然后下载jieba源码进行更改, ...
- 05-python中的异常
python的所有的异常都继承自基类: Exception 处理方式和java类似: path = raw_input('input the path') array = path.split('/' ...
- lucene源码分析(2)读取过程实例
1.官方提供的代码demo Analyzer analyzer = new StandardAnalyzer(); // Store the index in memory: Directory di ...
- vuex中怎么把‘库’中的状态对象赋值给内部对象(三种方法)
一.通过computed的计算属性直接赋值 import store from '@/store/store' export default{ name: 'count', data(){ retur ...
- UML与ER图
UML 统一建模语言(Unified Modeling Language, UML)是一种描述软件系统结构的图形化语言. 类图 类图用于描述类之间的关系,类图中主要的关系包括: 聚集 带空心菱形的实心 ...
- httpSession的正确理解
关于HttpSession的误解实在是太多了,本来是一个很简单的问题,怎会搞的如此的复杂呢?下面说说我的理解吧: 一个session就是一系列某用户和服务器间的通讯.服务器有能力分辨出不同的用户.一个 ...