文章目录

    • 一、top – 实时显示系统运行状态
    • 二、htop – 互动的进程查看器
    • 三、vmstat – 显示虚拟内存状态
    • 四、dstat – 全能系统信息统计工具
    • 五、glances – 高层次的多子系统概览
    • 六、sar – 系统运行状态统计
  • 总结
    •  相关文章

一、top – 实时显示系统运行状态

  top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。运维工程师们常常会把top命令比作是“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息以外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态,非常适合作为接手服务器后执行的第一条命令。

  动态查看进程信息,并且可以查看到系统负载,内存,CPU等使用情况。

语法格式

top [参数]

常用参数

参数 解析
-d <秒> 改变显示的更新速度
-c 切换显示模式,更详细的显示路径及命令
-s 安全模式,不允许交互式指令
-i 不显示任何闲置或僵死的行程
-n 设定显示的总次数,完成后将会自动退出
-b 批处理模式,不进行交互式显示
-p 指定某个pid来动态查看

常用交互参数

P:以CPU的使用资源排序显示
M:以内存的使用资源排序显示
N:以pid排序显示
T:由进程使用的时间累计排序显示
k:给某一个pid一个信号。可以用来杀死进程
r:给某个pid重新定制一个nice值(即优先级)
q:退出top(用ctrl+c也可以退出top)。

参考实例

以默认格式显示系统运行信息:

[root@root ~]# top
top - 02:48:56 up 20 min,  1 user,  load average: 0.00, 0.00, 0.04
Tasks: 432 total,   1 running, 431 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 s
MiB Mem :   1966.1 total,    172.1 free,   1339.3 used,    454.7 buff/cache
MiB Swap:   2048.0 total,   2033.5 free,     14.5 used.    443.4 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                2848 root      20   0  177712  28820   7700 S   6.2   1.4   0:01.31 sssd_kcm                   1 root      20   0  244748  14180   9052 S   0.0   0.7   0:01.10 systemd                    2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd
………………省略部分输出信息………………

以默认格式显示系统运行信息,但提供完整的进程路径及名称:

[root@root ~]# top -c

以批处理模式显示程序信息:

[root@root ~]# top -b

设定每隔5秒刷新一次信息:

[root@root ~]# top -c -d 5

设定总显示次数为3回,随后自动退出命令:

[root@root ~]# top -n 5

top -p: 指定pid 多个pid以‘逗号’分开,只显示指定pid进程的状态

[root@root ~]# top -c -p 5112,8891

字段解析

load average: 0.00, 0.01, 0.05
系统1分钟,5分钟,15分钟平均负载

%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us 用户态CPU
sy 内核态CPU
ni 优先级
id 空闲的CPU
wa 等待输入输出设备的CPU
hi 硬中断
si 软中断
st 虚拟化占用CPU资源

KiB Mem : 995896 total, 487280 free, 121580 used, 387036 buff/cache
total 总内存空间
free 空闲内存
used 已使用内存
buff 写缓冲 解决空间问题
cache 读缓存 解决速率问题

top进程信息

如下图

进程参数含义

参数 含义/解析
PID 进程id
USER 哪个用户启动的这个进程
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 此进程占用的内存大小,是总内存*%MEM得出的结果
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比;100%等于1核CPU
%MEM 进程使用的物理内存百分比;简单理解,此进程占用了内存总数的百分比。
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行;使用top -c会显示全命令

推荐使用

top
&&
top -c
&&
top -c -p pid(,pid)

二、htop – 互动的进程查看器

  htop是linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。htop比较人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
  htop相比较top的优势有可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行、在启动上比top更快、杀进程时不需要输入进程号、支持鼠标选中操作、top已不再维护。
  htop相当于top的升级版,监控界面是彩色的。

语法格式

htop [参数]

常用参数

非交互式是直接输入命令的时候加上参数,而交互式是htop进入监测后使用的。

  非交互式参数

参数 解析
-C 使用单色配色方案
-d 设置更新的延迟, 单位是10微秒
-s 用户 纵列排序
-u 用户 只显示一个指定用户的进程
-p 用户 只显示给用户
-h 打印此命令帮助
-v 打印版本信息

  交互式参数

参数 解析
space 标记一个进程
U 取消所有标记
l 显示进程打来的文件
u 显示特定用户
M 按照内存排序
P 按照CPU排序
T 按在线时长排序
直接输入数字 查找对应的PID进程

参考实例

启动htop:

[root@root ~]# htop

以单色模式启动htop:

[root@root ~]# htop -C

设置显示更新的延迟为3秒:

[root@root ~]# htop -d 3

显示一个给定的用户的进程:

[root@root ~]# htop -u linuxcool_user

三、vmstat – 显示虚拟内存状态

  vmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。

语法格式

vmstat [参数]
&&
vmstat [参数] [时间间隔] [执行次数]

常用参数

参数 解析
-a 显示活动内页
-f 显示启动后创建的进程总数
-m 显示slab信息
-n 头信息仅显示一次
-s 以表格方式显示事件计数器和内存状态
-d 报告磁盘状态
-p 显示指定的硬盘分区状态
-S 输出信息的单位

参考实例

显示活动内页:

[root@root ~]# vmstat -a

显示启动后创建的进程总数:

[root@root ~]# vmstat -f

显示slab信息:

[root@root ~]# vmstat -m

头信息仅显示一次:

[root@root ~]# vmstat -n

以表格方式显示事件计数器和内存状态:

[root@root  ~]# vmstat -s

显示指定的硬盘分区状态:

[root@root ~]# vmstat -p /dev/sda1

指定状态信息刷新的时间间隔为1秒:

[root@root ~]# vmstat 1

指定状态信息刷新的时间间隔为2秒刷新3次:

[root@root ~]# vmstat 2 3

字段解析

[root@root ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st2  0  35896 445256    520 487496  271 2091   622  2119  129  127  1  1 97  0  0

1.procs
r 表示等待执行的任务数,当一段时间内这个数值一直超过CPU数说明当前系统出现CPU瓶颈;
b 表示等待IO的进程数量。

2.memory
swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器;
free 空闲的物理内存的大小;
buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存;
cache 直接用来记忆我们打开的文件,给文件做缓冲。

3.swap
si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉;
so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

4.io
bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte;
bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

5.system
in 每秒中断数,包括时钟中断;
cs 表示每秒上下文切换;
这两个值越大,会看到由内核消耗的cpu时间会越多。

6.cpu
us 用户CPU时间;
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁;
id 空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率;
wa 等待IO CPU时间;
st 等待IO CPU时间。

四、dstat – 全能系统信息统计工具

  dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。

语法格式

 dstat [参数]

常用参数

参数 解析
-c 显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息
-d 显示磁盘读写数据大小
-n 显示网络状态
-l 显示系统负载情况
-m 显示内存使用情况
-g 显示页面使用情况
-p 显示进程状态
-s 显示交换分区使用情况
-r I/O请求情况
-y 系统状态
–ipc 显示ipc消息队列,信号等信息
–socket 用来显示tcp udp端口状态

参考实例

分别显示cpu、disk、net、page、system信息:

[root@root ~]# dstat

每三秒收集一次 cpu、disk、net、page、system 信息 :

[root@root ~]# dstat 3

显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息 :

[root@root ~]# dstat -c

显示磁盘读写数据大小 :

[root@root ~]# dstat -d

显示网络状态:

[root@root ~]# dstat -n

五、glances – 高层次的多子系统概览

  Glances是一个相对比较新的系统监控工具,用 Python 编写的,使用 psutil 库从系统获取信息。可以用它来监控 CPU、平均负载、内存、网络接口、磁盘 I/O,文件系统空间利用率、挂载的设备、所有活动进程以及消耗资源最多的进程。Glances 有很多有趣的选项。它的主要特性之一是可以在配置文件中设置阀值(careful小心、warning警告、critical致命),然后它会用不同颜色显示信息以表明系统的瓶颈。

语法格式

glances [参数]

常用参数

参数 解析
-b 显示网络连接速度 Byte/ 秒
-s 设置 glances 运行模式为服务器
-B 绑定服务器端 IP 地址或者主机名称
-c 连接 glances 服务器端
-t 设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767

参考实例

192.168.10.2 主机启动 glances 服务:

[root@root ~]# glances -s -B 192.168.10.2 &

从另一台主机查看 192.168.10.2 主机的系统负载状态:

[root@root ~]# glances -c 192.168.10.2

显示网络连接速度 Byte/ 秒:

[root@root ~]# glances -b

设置屏幕刷新的时间间隔为6秒:

[root@root ~]# glances -t 6

六、sar – 系统运行状态统计

  sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计、数器显示到标准输出设备。
  sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等

语法格式

sar [ 选项 ] [ <时间间隔> [ <次数> ] ]

常用参数

参数 解析
-A 所有报告的总和
-R 显示内存状态
-b 显示I/O和传递速率的统计信息
-B 显示换页状态
-d 输出每一块磁盘的使用信息
-e 设置显示报告的结束时间
-f 从制定的文件读取报告
-i 设置状态信息刷新的间隔时间
-P 报告每个CPU的状态
-u 输出cpu使用情况和统计信息
-v 显示索引节点、文件和其他内核表的状态
-w 显示交换分区的状态
-x 显示给定进程的装
-r 报告内存利用率的统计信息

参考实例

使用-R参数显示内存信息:

[root@root ~]# sar -R

使用-b参数显示I/O速率:

[root@root ~]# sar -b

使用-u参数显示CPU利用率:

[root@root ~]# sar -u

使用-d参数查看每块磁盘的使用信息

[root@root ~]# sar -d

使用-i参数和-f参数设置状态信息1秒刷新一次并记录5次

[root@root ~]# sar -i 1 -f 5

总结

 相关文章

【Linux】综合性命令及解析【top、htop、vmstat、dstat、glances、sar】相关推荐

  1. linux查进程ps和top,Linux中几个进程查看命令总结 ps, top, htop, vmstat

    ps命令可以以快照的方式,一次显示所有或部分系统进程. ps a :当前和中断相关进程[root@centos ~]# ps a PID TTY      STAT   TIME COMMAND 23 ...

  2. Linux综合性命令及解析

    一.top – 实时显示系统运行状态 top 命令的功能是用于实时显示系统运行状态,包含处理器.内存.服务.进程等重要资源信息.运维工程师们常常会把 top 命令比作是 "加强版的 Wind ...

  3. linux c 命令行解析 getopt getopt_long optarg optind opterr optopt 简介

    目录 getopt 函数 测试代码 getopt_long函数 代码示例 getopt 函数 头文件 #include<unistd.h> 定义函数 int getopt(int argc ...

  4. 24.Linux进程管理工具——ps,pstree,pgrep,kill,top,htop,vmstat

    1.        ps 显示系统进程瞬间的运行动态的命令ps (1)选项:-A:所有的进程均显示出来,与 -e 具有同样的效果: -a:显示现行终端机下的所有进程,包括其他用户的进程: -u:以用户 ...

  5. Linux常用命令及解析

    基本日常命令 init 3 (进入命令行页面) steup (设置网络) exit (退出用户) pwd(查看当前所在目录) date(查看当前系统时间) 举例:(date +%Y-%m-%d)以年月 ...

  6. 浅谈linux的命令行解析参数之getopt_long函数

    前言 在linux中,经常需要各种命令,通常情况下都会带各种参数,而这些参数是如何解析的呢?通常使用GNU C提供的函数getopt.getopt_long.getopt_long_only函数来解析 ...

  7. Linux glib命令行解析GOptionEntry使用

    1.安装glib //安装依赖库 sudo apt-get install libffi-dev -y//安装glib # sudo apt-get install libglib2.0-dev -y ...

  8. Linux基础命令之:top命令详解以及VIRT,RES,SHR,DATA

    top 1.界面详解 第一行:系统运行时间和平均负载 当前时间.系统已运行时间.当前登录用户的数量.最近5.10.15分钟内的平均负载 第二行:任务 任务的总数.运行中(running)的任务.休眠( ...

  9. Linux技巧(二):Linux sort命令深入解析 | sort -k M.m,N.n 命令详解

    前言 目的:逐步带你了解sort排序,解开-k参数的困惑. 困惑之处:sort -k 1.2,1.2 1.2是什么意思?1.2,1.2又是什么鬼?为什么sort -k 1.2和sort -k 1.2, ...

最新文章

  1. 【转】Linux定时任务系统Cron入门
  2. 模板使用自定义类型_「Shopify模板」Shopify模板编辑Shopify模板代码更改教程
  3. eWebEditor 错误 (不支持 ie7 ie8 maxthon 及其它浏览器)终极办法
  4. 【深入Java虚拟机JVM 05】HotSpot对象探秘
  5. Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail
  6. Error running tomcat8 Address localhost:1099 is already in use 错误解决
  7. 退出域不能够重新加入域,郁闷呀
  8. hive:默认允许动态分区个数为100,超出抛出异常:
  9. WWW'22 | 信息检索方向值得一读的3篇论文详解
  10. 盘点电机重要应用的七大领域
  11. Sybase ASE 12.5.4数据库安装备份还原操作步骤
  12. linux内核溢出利用,窖藏15年新鲜出炉的Linux内核漏洞
  13. 安装Rhythmbox mp3插件
  14. element-ui图片上传组件之限制每次5张上传(或者自定义每次几张上传)
  15. 【GIS】arcpy对栅格的常见操作——拼接裁剪代数计算
  16. Unity3D压缩和解压缩文件
  17. Windows 下使用 grub2 制作美观的维护U盘
  18. 群晖NAS的公网、NAT、DDNS、证书等配置三
  19. 一文了解三种3D视觉技术
  20. MacOS下Git与GitHub

热门文章

  1. 電腦基本常識-----菜鳥必讀版
  2. tomcat 发送的 jsessionid 这个 cookie 可以进行修改吗?
  3. NBA之后腾讯又拿下了FIBA,为什么对体育胃口越来越大?
  4. 大数据公司Palantir融得7亿美元 曾追踪拉登
  5. 凌轩:SNS与微博客深度研究
  6. 五子棋入门级AI的设计与实现
  7. 什么时候发布华为鸿蒙os,华为鸿蒙OS什么时候发售 华为鸿蒙harmonyOS发布会配置价格上市时间-游侠手游...
  8. 普通人修谱必须读的三本书,最后一本市场买不到
  9. 广东有哪些计算机自主招生的大专学校,广东自主招生的大学有哪些
  10. react1==react使用acro design组件库