【Linux进阶篇】系统监控命令

这篇具有很好参考价值的文章主要介绍了【Linux进阶篇】系统监控命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux进阶篇】系统监控命令

目录

🍁proc文件系统

🍁常见系统监视命令

🍃uptime

🍃free -h

🍃vmstat

🍃mpstat

🍃iostat

🍃sar

🍃iotop

🍃htop

🍃glances


   🦐博客主页:大虾好吃吗的博客

   🦐专栏地址:Linux从入门到精通

proc文件系统

        proc文件系统是一种无存储的文件系统,当读其中的文件时,其内容动态生成,当写文件时,文件所关联的写函数被调用。内核部件可以通过该文件系统向用户空间提供接口来提供查询信息、修改软件行为,因而它是一种比较重要的特殊文件系统。

        大致包含了如下信息: 内存管理 每个进程的相关信息 文件系统 设备驱动程序 系统总线 电源管理 终端 系统控制参数 网络 整个Linux系统相关的参数如下

/proc/cmdline 加载kernel时的相关指令与参数

/proc/cpuinfo CPU相关信息,包含频率、类型与运算功能

/proc/devices 记录了系统各个主要设备的主设备号码

/proc/filesystems 记录系统加载的文件系统

/proc/loadavg 平均负载值 top看到就是这个

/proc/meminfo 内存信息,free命令看到就是这个

/proc/modules 系统已经加载的模块

/proc/mounts 系统已经挂载的数据 mount看到就是这个数据

/proc/partitions 系统的分区文件

/proc/version 系统的核心版本 uname -a看到的内容

常见系统监视命令

uptime

打印系统总共运行了多长时间和系统的平均负载

[root@bj-1 ~]# uptime
 13:18:44 up 10 min,  3 users,  load average: 2.24, 1.07, 0.64

系统时间 开机时长 登录用户数 系统在过去的1分钟、5分钟和15分钟内的平均负载

free -h

可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区

[root@bj-1 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        732M         69M         22M        170M         76M
Swap:          2.0G        347M        1.7G

案例:计算内存使用率 MUG=$(expr $(free | grep "Mem" | awk '{print $3}') * 100 / $(free | grep "Mem:" | awk '{print $2}'))

vmstat

        Linux/Unix监控工具,含义为显示虚拟内存状态(“VirtualMemory Statistics”),但也可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

        参数:

-V:显示vmstat版本信息

-n:只在开始时显示一次各字段名称

-a:显示活跃和非活跃内存

-d:显示各个磁盘相关统计信息

-D:显示磁盘总体信息

-p:显示指定磁盘分区统计信息

-s:显示内存相关统计信息及多种系统活动数量

-m:显示slabinfo

-t:在输出信息的时候也将时间一并输出出来

-S:使用指定单位显示。参数有k、K、m、M,默认单位为K

delay:刷新时间间隔。如果不指定,只显示一条结果 count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷

显示信息:

[root@bj-1 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0 358912  60308     36 191212   53  549 12219  3778  740  992  6 11 83  1  0

解释:

procs

        r:表示运行和等待CPU时间片的进程数(就是说多少个进程真的分配到CPU),这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU

        b:表示在等待资源的进程数,比如正在等待I/O或者内存交换等。

memory

        swpd:表示切换到内存交换区的内存大小,即虚拟内存已使用的大小(单位KB),如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。 ​

        free:表示当前空闲的物理内存 ​

        buff:表示buffers cached内存大小,也就是缓冲大小,一般对块设备的读写才需要缓冲 ​

        cache:表示page cached的内存大小,也就是缓存大小,一般作为文件系统进行缓冲,频繁访问的文件都会被缓存,如果cache值非常大说明缓存文件比较多,如果此时io中的bi比较小,说明文件系统效率比较好

swap

        si:表示从磁盘调入内存,也就是内存进入内存交换区的内存大小;通俗的讲就是 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。 ​

         so:表示由内存进入磁盘,也就是由内存交换区进入内存的内存大小。注意:一般情况下si、so的值都为0,如果si、so的值长期不为0,则说明系统内存不足,需要增加系统内存

io

        bi:表示从块设备每秒读取的块数量

       ​ bo:表示每秒写到块设备的块数量 注意:如果bi+bo的值过大,且wa值较大,则表示系统磁盘IO瓶颈

system

        in: 表示每秒的中断数,包括时钟 ​

        cs:表示每秒产生的上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。 注意: 这两个值越大,则由内核消耗的CPU就越多

CPU

        us:表示用户进程消耗的CPU时间百分比,us值越高,说明用户进程消耗CPU时间越多,如果长期大于50%,则需要考虑优化程序或者算法 ​

        sy:表示系统内核进程消耗的CPU时间百分比,一般来说us+sy应该小于80%,如果大于80%,说明可能存在CPU瓶颈 ​

        id:表示CPU处在空间状态的时间百分比 ​

        wa:表示IP等待所占用的CPU时间百分比,wa值越高,说明I/O等待越严重,根据经验wa的参考值为20%,如果超过20%,说明I/O等待严重,引起I/O等待的原因可能是磁盘大量随机读写造成的,也可能是磁盘或者监控器的贷款瓶颈(主要是块操作)造成的综上所述,如果评估CPU,需要重点关注procs项的r列值和CPU的us、sy、wa列的值

日常用法

每隔2秒,查询2次

[root@bj-1 ~]# vmstat -SM 2 2

mpstat

        Multiprocessor Statistics,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。 mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据;而vmstat只能查看系统整体cpu情况。

[root@bj-1 ~]# yum -y install sysstat               #安装所需服务

参数详解:

%user 在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程 (usr/total)*100

%nice 在internal时间段里,nice值为负进程的CPU时间(%) (nice/total)*100

%sys 在internal时间段里,内核时间(%) (system/total)*100

%iowait 在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

%irq 在internal时间段里,硬中断时间(%) (irq/total)*100

%soft 在internal时间段里,软中断时间(%) (softirq/total)*100

%idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100

日常用法

[root@bj-1 ~]# mpstat 2 5               #每两秒查看一次,共查看五次
[root@bj-1 ~]# mpstat -P ALL 2 3        #查看每个cpu核心的详细运行状态信息

iostat

        监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat弱点就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。能查看到系统IO状态信息,从而确定IO性能是否存在瓶颈。

-c:仅显示CPU使用情况;

-d:仅显示设备利用率;

-k:显示状态以千字节每秒为单位,而不使用块每秒;

-m:显示状态以兆字节每秒为单位;

-p:仅显示块设备和所有被使用的其他分区的状态;

-t:显示每个报告产生时的时间;

-V:显示版号并退出;

-x:显示扩展状态。

[root@bj-1 ~]# iostat
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_    (1 CPU)
​
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.70    2.79   11.28    0.68    0.00   82.56
​
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             373.30     12018.09      4369.39   13510013    4911801
scd0              0.06         1.89         0.00       2120          0
dm-0            368.36     11957.46      3939.06   13441854    4428057
dm-1            119.60        51.58       428.48      57984     481676

        详细说明: 第一行是系统信息和监测时间 第二行和第三行显示CPU使用情况(具体内容和mpstat命令相同) 第四行: Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 373.30 12018.09 4369.39 13510013 4911801

        tps:该设备每秒的传输次数 kB_read/s:每秒从设备(drive expressed)读取的数据量; kB_wrtn/s:每秒向设备(drive expressed)写入的数据量; kB_read:读取的总数据量; kB_wrtn:写入的总数量数据量;

sar

        (System Activity Reporter 系统活动情况报告)是目前 Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

实例

(1)CPU资源监控 每2秒采样一次,连续采样3次,观察CPU 的使用情况,结果保存到test文件(二进制)

[root@bj-1 ~]# sar -u -o test 2 3
13时32分05秒     CPU     %user     %nice   %system   %iowait    %steal     %idle

CPU:all 表示统计信息为所有 CPU 的平均值。

%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。

%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU 的百分比。

%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

注: %iowait 的值过高,表示硬盘存在I/O瓶颈 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量 %idle 的值持续低于1,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU

[root@bj-1 ~]# sar -u -f test           #查看二进制文件内容

(2)inode、文件和其他内核表监控 每10秒采样一次,连续采样3次,观察核心表的状态

[root@bj-1 ~]# sar -v 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时44分11秒 dentunusd   file-nr  inode-nr    pty-nr
13时44分21秒      5220     10240     25024         2
13时44分31秒      5228     10240     25032         2
13时44分41秒      5228     10240     25032         2
平均时间:      5225     10240     25029         2

dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量 pty-nr:使用的pty数量 

(3)内存和交换空间监控 每10秒采样一次,连续采样3次,监控内存分页

[root@bj-1 ~]# sar -r 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时45分02秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
13时45分12秒    277152    718520     72.16        36    269304   4104504    132.71    117236    336336         4
13时45分22秒    277148    718524     72.16        36    269304   4104504    132.71    117240    336336         4
13时45分32秒    276776    718896     72.20        36    269304   4104464    132.71    117240    336336         0
平均时间:    277025    718647     72.18        36    269304   4104491    132.71    117239    336336         3

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比. kbbuffers和

kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

kbactive: 活跃内存(经常使用不回收的内存,只有在必须被需要时回收)

kbinact: 不活跃内存(最近不经常使用, 更有可能回收给其他进程使用)

kbdirty: 等待被写会硬盘的内存 

(4)内存分页监控 每10秒采样一次,连续采样3次,监控内存分页:

[root@bj-1 ~]# sar -B 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时47分19秒  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
13时47分29秒      0.00      0.91    278.30      0.00    108.38      0.00      0.00      0.00      0.00
13时47分39秒      0.00      0.00      2.92      0.00      4.53      0.00      0.00      0.00      0.00
13时47分49秒      0.00      0.00      2.32      0.00      6.15      0.00      0.00      0.00      0.00
平均时间:      0.00      0.30     94.42      0.00     39.65      0.00      0.00      0.00      0.00

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major +minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

(5)I/O和传送速率监控 每10秒采样一次,连续采样3次,报告缓冲区的使用情况

[root@bj-1 ~]# sar -b 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时52分00秒       tps      rtps      wtps   bread/s   bwrtn/s
13时52分10秒      0.00      0.00      0.00      0.00      0.00
13时52分20秒      0.00      0.00      0.00      0.00      0.00
13时52分30秒      0.20      0.00      0.20      0.00      1.01
平均时间:      0.07      0.00      0.07      0.00      0.34

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

(6)进程队列长度和平均负载状态监控 每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

[root@bj-1 ~]# sar -q 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时53分37秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
13时53分47秒         1       485      0.00      0.03      0.15         0
13时53分57秒         0       485      0.00      0.03      0.15         0
13时54分07秒         1       485      0.00      0.02      0.15         0
平均时间:         1       485      0.00      0.03      0.15         0

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

(7)系统交换活动信息监控 每10秒采样一次,连续采样3次,监控系统交换活动信息:

[root@bj-1 ~]# sar -W 10 3
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时54分40秒  pswpin/s pswpout/s
13时54分50秒      0.00      0.00
13时55分00秒      0.00      0.00
13时55分10秒      0.00      0.00
平均时间:      0.00      0.00

pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量

(8)设备使用情况监控 每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

[root@bj-1 ~]# sar -d 10 3 -p
Linux 3.10.0-1160.el7.x86_64 (bj-1)     2023年03月16日     _x86_64_  (1 CPU)
​
13时55分35秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
13时55分45秒       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13时55分45秒       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13时55分45秒 centos-root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13时55分45秒 centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#省略部分内容

参数 -p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

rd_sec/s:每秒读扇区的次数.

wr_sec/s:每秒写扇区的次数.

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

avgqu-sz:磁盘请求队列的平均长度.

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.

        注意: avgqu-sz 的值较低时,设备的利用率较高。 当%util的值接近 1 时,表示设备带宽已经占满。 总结: 要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来 怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看 怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看 怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

iotop

用来监视磁盘I/O使用状况的top类工具,实时观察磁盘io情况,可以观察到哪个进程占用I/O

[root@bj-1 ~]# yum install iotop

iotop 参数:

[root@bj-1 ~]# iotop

-o:只显示有io操作的进程

-b:批量显示,无交互,主要用作记录到文件。

-n NUM:显示NUM次,主要用于非交互式模式。

-d SEC:间隔SEC秒显示一次。

-p PID:监控的进程pid。

-u USER:监控的进程用户。

iotop常用快捷键:

(1)左右箭头:改变排序方式,默认是按IO排序。

(2) r:改变排序顺序。

(3) o:只显示有IO输出的进程。

(4) p:进程/线程的显示方式的切换。

(5) a:显示累积使用量。

(6) q:退出

htop

        Htop类似于top命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上所有运行的进程,以及它们完整的命令行。可以不输入进程的PID就可以对此进程进行相关的操作(kill)。Htop是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台orX终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可以让用户交互式操作,支持颜色主题,可横向或者纵向滚动浏览进程列表,并支持鼠标操作。

        与top相比,htop有以下优点: 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整命令行; 在启动时,比top要快; 杀进程时不需要输入进程号; htop支持鼠标操作;

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install htop

htop

区域1:CPU使用率、内存以及交换空间使用率;

区域2:1/5/15分钟的平均负载以及开机时间等;

区域3:当前系统中运行的进程;

区域4:功能键;

在区域3中,代表当前系统中运行的进程。各项说明如下:

1.PID:进程标志号,是非零正整数

2.USER:进程所有者的用户名

3.PR:进程的优先级别

4.NI:进程的优先级别数值

5.VIRT:进程占用的虚拟内存值

6.RES:进程占用的物理内存值

7.SHR:进程使用的共享内存值

8.S:进程的状态,其中S代表休眠,R代表正在运行,Z表示僵死状态,N代表该进程优先级是负数

9.%CPU:该进程占用的cpu使用率

10.%MEM:该进程占用的物理内存和总内存的百分比

11.TIME+:该进程启动后占用的总的CPU时间

12.COMMAND:进程启动的启动命令名称

-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   倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然

+, -   When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.

a (在有多处理器的机器上)   设置 CPU affinity: 标记一个进程允许使用哪些CPU

u   显示特定用户进程

M   按Memory 使用排序

P   按CPU 使用排序

T   按Time+ 使用排序

F   跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。

K   显示/隐藏内核线程

H   显示/隐藏用户线程

Ctrl-L   刷新

Numbers   PID 查找: 输入PID,光标将移动到相应的进程上

F1 帮助

F2 设定

F3 搜索

F4 过滤

F5 显示树形结构,类似pstree

F6 选择排序方式

F7 调低nice值

F8 调高nice值

F9 杀死进程 q 退出 

glances

        glances是一个基于python语言开发,可以为linux或者UNIX性能提供监视和分析性能数据的功能。 ​ glances在用户的终端上显示重要的系统信息,并动态的进行更新,让管理员实时掌握系统资源的使用情况,而动态监控并不会消耗大量的系统资源,比如CPU资源,通常消耗小于2%,glances默认每两秒更新一次数据。同时glances还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和图形绘制,支持的文件格式有.csv电子表格格式和和html格式。

glances可以分析系统的:

CPU使用率

内存使用率

内核统计信息和运行队列信息

磁盘I/O速度、传输和读/写比率

磁盘适配器

网络I/O速度、传输和读/写比率

页面监控

进程监控-消耗资源最多的进程

计算机信息和系统资源

(1)安装

[root@bj-1 ~]# yum -y install glances

        glances 工作界面的说明 : 在图 的上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。 在图的中上部是网络接口、Processes(进程)的使用情况。 通常包括如下字段:

%CPU:该进程占用的 CPU 使用率

%MEM:该进程占用的物理内存和总内存的百分比

VIRT: 虚拟内存大小

RES: 进程占用的物理内存值

PID: 进程 ID 号

USER: 进程所有者的用户名

NI: 进程优先级

S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

TIME+: 该进程启动后占用的总的 CPU 时间

IO_R 和 IO_W: 进程的读写 I/O 速率

Command: 进程名称

在上图的左侧是网络、磁盘IO、磁盘分区使用情况。 另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:

h : 显示帮助信息

q : 离开程序退出

c :按照 CPU 实时负载对系统进程进行排序

m :按照内存使用状况对系统进程排序

i:按照 I/O 使用状况对系统进程排序

p: 按照进程名称排序

d : 显示磁盘读写状况

w : 删除日志文件

l :显示日志

s: 显示传感器信息

f : 显示系统信息

1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)

(2)glances 使用方法

glances 是一个命令行工具包括如下命令选项:

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

-B @IP|host :绑定服务器端 IP 地址或者主机名称

-c @IP|host:连接 glances 服务器端

-C file:设置配置文件默认是 /etc/glances/glances.conf

-d:关闭磁盘 I/O 模块

-e:显示传感器温度

-f file:设置输出文件(格式是 HTML 或者 CSV)

-m:关闭挂载的磁盘模块

-n:关闭网络模块

-p PORT:设置运行端口默认是 61209

-P password:设置客户端 / 服务器密码

-s:设置 glances 运行模式为服务器

-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767

-h : 显示帮助信息

-v : 显示版本信息文章来源地址https://www.toymoban.com/news/detail-425198.html

到了这里,关于【Linux进阶篇】系统监控命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux系统进阶详解】Linux核心命令深度实战实现原理详解和每个命令使用场景以及实例分析

    在Linux系统中, find 、 xargs 、 sed 、 grep 、正则表达式和通配符是非常常用的命令和技巧。它们可以结合使用,实现更复杂的文件查找、过滤和操作。下面将详细介绍它们的实现原理和使用场景。 find命令 ``find`命令通过遍历指定目录及其子目录来查找符合条件的文件或目录。

    2024年02月08日
    浏览(227)
  • windews,linux,macOS伪装黑客-炫酷黑客风-安装eDEX-UI:命令操作及系统资源负载监控大屏

    eDEX-UI是一个全屏、跨平台的终端仿真器和系统监视器,它的外观和感觉就像一个科幻电脑界面。 先看效果 eDEX-UI 可以安装在 linux、Windows、MacOS操作系统上面。 下载 : 下载地址:https://github.com/GitSquared/edex-ui/releases/tag/v2.2.8 https://github.com/GitSquared/edex-ui/releases/tag/v2.2.8 linux 6

    2024年02月19日
    浏览(55)
  • 5个Linux性能监控命令

    这些命令提供了宝贵的系统性能统计数据,有助于分析资源利用率、识别瓶颈和优化效率。 vmstat 命令可打印有关内存、交换、I/O 和 CPU 活动的详细报告。其中包括已用/可用内存、交换入/出、磁盘块读/写和 CPU 进程/闲置时间等指标。 例子: 其他有用的 vmstat 选项: -a – 显

    2024年02月02日
    浏览(38)
  • Linux进阶命令使用

    在 Linux 中,除了常用的基础命令,有一系列进阶命令可以帮助用户更有效地管理系统和执行复杂的任务。以下是一些常见的 Linux 进阶命令及其用法: 文本处理 grep :搜索文本并打印匹配的行。 awk :用于模式扫描和处理语言,非常强大的文本分析工具。 sed :流编辑器,用于

    2024年01月24日
    浏览(25)
  • elasticsearch 常用系统监控命令

    以下所有操作都是在kibana中操作 1.查看集群索引状态,如查看副本数,查看分片数,查看index占用的磁盘大小 2.查看所有节点的线程情况 3.物理删除delete_by_query删除的文档(官方似乎只能用合并段迫使es去物理删除这些软删除的记录) 4.查看合并线程的执行情况 5.强制刷新和同

    2024年02月14日
    浏览(37)
  • Linux性能监控命令-ps,top、pstree

    ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。ps 命令有多种不同的使用方法,源于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾

    2024年01月20日
    浏览(60)
  • Linux 网络流量监控利器 iftop命令详解及实战

    简介 iftop 是什么 在 Linux 系统下即时监控服务器的网络带宽使用情况,有很多工具,比如 iptraf、nethogs 等等,但是推荐使用小巧但功能很强大的 iftop 工具。 iftop 是 Linux 系统一个免费的网卡实时流量监控工具,类似于 top 命令。iftop 可以监控指定网卡的实时流量、端口连接信

    2024年02月03日
    浏览(55)
  • Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合

      随着云原生技术的发展,监控和度量也成为了不可或缺的一部分。Prometheus 是一款最近比较流行的开源时间序列数据库,同时也是一种监控方案。它具有极其灵活的查询语言、自身的数据采集和存储机制以及易于集成的特点。而 Spring Boot 是一款快速构建应用的框架,其提

    2024年02月08日
    浏览(43)
  • 【Linux进阶命令 01】grep(文本的全局搜索与打印)

    grep (缩写来自Globally search a Regular Expression and Print,即 正则表达式的全局搜索和打印输出 )是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。 基本用法: 全部用法: -c :只输出匹配模

    2024年02月05日
    浏览(104)
  • Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

    Linux中常用的监控性能的命令有:  sar :能查看CPU的平均信息,还能查看指定CPU的信息。与mpstat相比,sar能查看CPU历史信息 mpstat :能查看所有CPU的平均信息,还能查看指定CPU的信息。 与sar相比,mpstat对CPU能实时状态进行监控 vmstat :监控服务器整体的CPU,内存,IO的使用情况,

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包