Linux系统实时监控
命令
- top
Top命令用于实时显示process的动态。参数如下:
d:设置显示的更新速度
q:无延迟的显示速度
c:切换显示模式,一共有两种显示模式,一是只显示执行档,另一种是显示完成的路径和名称
S:累积模式,会将已完成或者消失的子进程的cpu time累积起来
s:安全模式,将交谈式的命令取消,避免潜在的危险
i:不显示任何闲置或者无用的进程
n:更新的次数,完成后会推出top
b:批次档模式,搭配“n”使用,可以用来将top结果输出到档案内
p:显示指定的进程信息
- htop
下载源码包:https://hisham.hm/htop/releases/
htop是Linux系统中一个互动的进程查看器(需要ncurese),和传统top命令相比,htop可交互式操作,支持颜色主题,可横向或者纵向滚动进程列表,还可以支持鼠标操作
常用参数
c:只使用一种颜色 d:设置刷新时间间隔,单位秒
h:显示帮助信息 u:显示某个指定用户的进程
p:显示某个指定PIDs的进程 s:按照某列进行排序
v:显示版本信息
交互式命令
u:显示某个指定用户的进程 M:按照内存使用排序
P:按照CPU使用排序 T:按照TIME+使用排序
F:跟踪进程 K:显示/隐藏内核进程
H:显示/隐藏用户进程
下图显示内容为:
PID:进程号 USER:进程所属用户
PRI:优先级 NI:优先级别值,默认0,可调整
VIRT:占用的虚拟内存 RES:占用的物理内存
SHR:占用的共享内存 S:进程状态(R:运行中;S:休眠可唤醒;Z:僵死)
CPU%:CPU使用率 MEM%:进程占用的物理内存和总内存的百分比
TIME+:进程启动后占用的总的CPU时间 Command:启动进程的命令
F1:显示帮助信息 F2:HTOP设置
F3:搜索进程 F4:过滤器,关键字索引,不区分大小写,可以通过ESC清除
F5:显示树形结构 F6:以指定目标条件显示
F7:调高优先级 F8:调低优先级
F9:杀进程 F10:退出
- atop
下载源码包:https://www.atoptool.nl/downloadatop.php
atop同样属于是交互式监视器,用于查看Linux系统负载情况,它显示占用系统级别上最关键的硬件资源,即CPU、内存、硬盘、网络。
对于系统级别的资源消耗,会使用不同颜色来进行标记,临界占用百分比意味着当前负载可能会导致明显的负面性能。临界百分比取决于不同的资源类型,比如CPU(90%)、磁盘(70%)、网络(90%)、内存(90%)、SWAP(80%);当资源占用超过临界值时会被显示为红色,当资源占用接近/等于临界值时会被显示为青色。这些默认值可以在配置文件中进行修改,也可以使用“x”禁止着色
常用交互式命令
g:显示通用输出(默认) m:显示内存相关的输出
d:显示磁盘相关的输出 n:显示网络相关的输出
c:显示进程的命令行 u:显示每个用户的累计进程活动
p:显示每个程序累计的进程活动 C:按照CPU消耗顺序排序(最后一列显示为CPU)
M:按照内存消耗顺序排序(最后一列显示为MEM) D:按照磁盘访问顺序排序(最后一列显示为DSK)
N:按照接受/传输数据包的顺序排序(最后一列显示为NET) A:按照最繁忙的系统资源排序(最后一列显示为ACPU)
其他交互式命令
x:禁止以颜色突出显示关键资源
z:冻结当前屏幕显示内容
i:修改刷新时间间隔(默认10秒),间隔为0时关闭计时器,停止刷新
t:关闭计时器时,手动刷新进程列表
监控服务
处理查看当前系统状态以外,atop支持以服务方式运行在后台并记录系统状态
systemctl start atop
systemctl stop atop
以服务方式运行时,默认数据保存在/var/log/atop目录,每间隔10分钟采集一次,保留最近28天的数据。(配置可在/etc/atop/atop.daili文件中修改)
atop -r {filename}
读取数据时,“t”向前翻页,“T”向后翻页,“b”跳转至指定时间
- iotop
iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。
安装iotop的前提条件
1、内核版本高于2.6.20(包含2.6.20)
2、python2.7或者更高版本
常用参数
version:显示软件版本 h:显示帮助信息
o:显示正在产生io的进程或者线程 b:非交互模式时,记录日志
n:非交互模式时,设置记录次数,默认无限 d:刷新间隔时间,支持非整数
p:显示指定PID进程 P:显示进程,不显示线程
u:显示指定用户进程 a:显示进程io总数
k:使用kb单位 t:非交互模式时,设置运行时间
q:只在第一次检测时显示列名,最多可用三次(-q:只在最初显示1次头部,-qq:不显示头部,-qqq:总结不显示)
交互式命令
r:反向排序 o:同上述参数“o”
p:显示实时io a:同上述参数“a”
i:改变线程的优先级 q:退出
- iostat
iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析
常用参数
d:显示磁盘信息
rrqm/s:每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s:每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率,即一秒中有百分之多少的时间用于 I/O
如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷
idle小于70% IO压力就较大了,一般读取速度有较多的wait。
c:显示CPU信息
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比
如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle值高,表示CPU较空闲
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
如果%idle值持续低于cpu核数,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。
m:以M(兆)为单位显示
t:显示tty和cpu信息
x:显示详细信息
- iptstate
iptstate命令和top指令风格类似,显示Linux内核中iptables的工作状态
常见参数
b:指定输出信息的排序规则 d:不动态的改变窗口大小
f:过滤本地回送消息 l:将IP地址解析为域名
L:隐藏DNS查询相关状态 r:指定刷新频率
R:反序排列 s:单次运行模式
t:显示汇总信息
- mtr
下载源码包:https://www.bitwizard.nl/mtr/files/
mtr是一种网络诊断工具,结合“跟踪路由”和“ping”的功能在单个网络诊断工具中。当mtr启动时,即时监控主机之间的网络链接,确认每个网络节点的地址后,向每个请求发送“ICMP ECHO”请求,用来确定每个链接的质量,同时打印有关每台设备的统计信息
hostname:主机ip和域名 loss:节点丢包率
last:最近一次延迟 avg:延迟平均值
best:延迟最小值 worst:延迟最大值
stdev:标准偏差,值越大节点越不稳
snt:已发送数据包数,默认为10,可以通过参数“-c”调整
- sar
sar命令 是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
常见参数
-A:显示所有的报告信息 -b:显示I/O速率
-B:显示换页状态 -c:显示进程创建活动
-d:显示每个块设备的状态 -e:设置显示报告的结束时间
-f:从指定文件提取报告 -i:设状态信息刷新的间隔时间
-P:报告每个CPU的状态 -R:显示内存状态
-u:显示CPU利用率 -v:显示索引节点,文件和其他内核表的状态
-w:显示交换分区状态 -x:显示给定进程的状态。
-n:显示网络设备状态
sar [ options ] [ <interval> [ <count> ] ]
options:上述参数
interval:刷新时间
count:刷新次数
- watch
watch命令 以周期性的方式执行给定的指令,指令输出以全屏方式显示。watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你实时监测一个命令的运行结果,省得一遍遍的手动查询
常用参数
-n:默认2秒刷新一次,可以使用“-n”指定刷新频率
-d:可以将监测结果中变化的部分高亮显示
-t:关闭默认在顶端显示的时间显示
-h:显示help信息
工具
- nmon
- Gnome系统监视器
笔记整理过程中感谢以下链接给予参考,如有侵犯产权,请及时联系删除,谢谢!
https://www.cnblogs.com/zangfans/p/8595000.html
https://linux.die.net/man/1/atop
https://www.cnblogs.com/Finley/p/12327804.html
https://www.cnblogs.com/kerrycode/p/11344506.html
https://www.cnblogs.com/ftl1012/p/iostat.html
Linux系统实时监控的更多相关文章
- Linux 系统实时监控的瑞士军刀 —— Glances
Linux 系统实时监控的瑞士军刀 —— Glances 对于 RHEL/CentOS/Fedora 发行版 ## RHEL/CentOS 7 64-Bit ## # wget http://dl.f ...
- Linux 系统实时监控 —— Glances
早些时候,我们提到过有很多可以用来监视系统性能的 Linux 系统监视工具. 但我们估计,或许更多的用户会倾向与绝大多数 Linux 发行版都带的工具 (top 命令). top 命令是 Linux ...
- 9个Linux系统常用监控命令
我们的系统一旦上线跑起来我们自然希望它一直相安无事,不要宕机,不要无响应,不要慢腾腾的.但是这不是打开机器电源然后放任不管就可以得到的.所以我们要监视系统的运行状况,发现问题及时处理. 对于系统和网络 ...
- Linux系统实时数据同步inotify+rsync
一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Li ...
- 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
- Linux系统状态监控小工具 - Linux Dash
Linux Dash是一个简单易用的Linux系统状态监控工具,项目地址:https://github.com/afaqurk/linux-dash 1.安装Apache服务: [root@local ...
- Linux记录-linux系统常用监控指标
1.Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工程 ...
- 安装cactiez v11对windows和linux系统进行监控
日常运维中我们需要对服务器的流量.CPU占用.硬盘使用及内存.磁盘IP等进行监控和了解,cactiez是一款基于centos6.4定制安装了常用监控软件的系统,安装简单,功能强大很适合快速部署监控系统 ...
- Linux网络实时监控配置
Linux监控邮件发送配置 网络状态监控 网络状态:netstat 各个状态的总计,详情:以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip. 邮件报告当前 ...
- 【转】Linux IO实时监控iostat命令详解
转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html 简介 iostat主要用于监控系统设备的IO负载情况,iosta ...
随机推荐
- 狂神——SpringSecurity入门例子(设置不同用户访问权限)
文章目录 简介 SpringSecurity环境搭建 实现界面的路由跳转 效果 用户认证和授权 授权 认证 效果 注销及权限控制 注销 权限控制 记住我及首页定制 参考资料 简介 狂神的Springb ...
- mysql 列约束
mysql可以对插入的数据进行特定得验证,只有满足条件才可以插入到数据表中,否则认为是非法插入: 例如:人性别只可以是男.女.年龄只能是0-100. ①主键约束查重-PRIMARY KEY,1表一个: ...
- Python3+Selenium3自动化测试-(准备)
Python3+Selenium3自动化测试-(准备) 最近在学习selenium自动化测试相关的内容,所以将实际准备情况做一记录, # 系统:win10(64位) # 浏览器:Chrome(67.0 ...
- io流概述-一切皆为字节
io流概述 什么是io 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里.那么数据都是在哪些设 ...
- SOFAJRaft源码阅读(伍)-初识RheaKV
SOFAJRaft的SOFAJRaft-RheaKV 是基于 SOFAJRaft 和 RocksDB 实现的嵌入式.分布式.高可用.强一致的 KV 存储类库.SOFAJRaft-RheaKV 集群主要 ...
- Docker命令的自动补齐
Docker命令的自动补齐 背景 在linux下输入命令或文件都是可以自动补齐的,这个特性极大的提高了我们的效率,多数情况下我们很少用命令参数的自动补齐. 但对docker git这类参数特别多的命令 ...
- 【动画笔记】数据结构-AVL树的插入操作
本笔记前置知识: 二叉搜索(排序)树及其插入操作. 本文主要围绕AVL树的平衡因子.纸上做题思路.失衡类型(LL/RR/LR/RL).失衡调整方法.插入后回溯这几部分知识点展开. 注: 本笔记中的平衡 ...
- 移除链表元素&反转链表&设计链表
一.移除链表元素 203.移除链表元素 leetcode链接 1.方法概述 带傀儡节点的方法: 创建一个傀儡节点puppet来充当该链表的假头节点,当真正的头结点head不为null时,且在真正的头节 ...
- 关于Promise.all()的理解
本篇笔记是抄的别人的,目的只是为了日后有用到时有个参考,原文地址是https://www.jianshu.com/p/7e60fc1be1b2 一.Pomise.all的使用 Promise.all可 ...
- [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效
利用蛋白组学技术开发一项蛋白评分与临床参数联用可以增强对TNF拮抗剂对RA疗效的预测效能 Cuppen BV, et al. EULAR 2015. Present ID: OP0130. 背景: 对 ...