常用性能监测工具介绍
  8FFsoXRpcNzh 2023年11月02日 54 0

1 常用工具介绍

系统监控是一种向用户提供有关系统实际计时行为的数据的有用方法。用户可以使用这些监视器提供的数据执行进一步的分析。系统监控的目标之一是确定当前执行是否满足指定的技术要求。
这些监视工具检索通常查看的信息,可以通过命令行或图形用户界面(由系统管理员确定)使用。这些工具显示有关Linux系统的信息,如空闲磁盘空间、CPU温度和其他基本组件,以及网络信息,如系统IP地址和当前上传和下载速率。

常用性能监测工具介绍_监控

1.1 常用的监控工具

Linux内核维护计数事件的反结构,当事件发生时,反结构增加。例如,磁盘读写和处理系统调用都是使用存储为无符号整数的值递增计数器的事件。监视工具读取这些计数器值。这些工具提供进程结构中维护的每个进程的统计信息,或内核中系统范围的统计信息。监视工具通常可由非特权用户查看。ps和top命令提供进程统计信息,包括CPU和内存。

1.1.1 使用ps命令监控进程

排除系统故障需要了解内核与进程之间的通信方式,以及进程之间的通信方式。在创建流程时,系统为流程分配一个状态。
#使用ps aux命令列出所有用户及其扩展的面向用户的详细信息;结果列表包括启动进程的终端,以及没有终端的进程。一个吗?TTY列中的符号表示进程不是从终端启动的。
[student@workstation ~]$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.7 179004 13556 ?        Ss   19:55   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root         2  0.0  0.0      0     0 ?        S    19:55   0:00 [kthreadd]
#Linux版本的ps支持三种格式:
- UNIX (POSIX)选项,可以分组,并且前面必须有破折号。
- BSD选项,可以分组,但不能包含破折号。
- GNU长选项,前面有两个破折号。
[student@workstation ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:55 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root         2     0  0 19:55 ?        00:00:00 [kthreadd]
root         3     2  0 19:55 ?        00:00:00 [rcu_gp]
#ps输出中的关键列
- PID: 此列显示唯一进程ID。
- TIME: 此列以小时:分:秒的格式显示自进程启动以来进程消耗的总CPU时间。
- %CPU: 这一列显示了前一秒内的CPU使用率,即所有CPU的使用率之和,以百分比表示。
- RSS: 此列在常驻集大小RSS列中以千字节为单位显示进程消耗的非交换物理内存。
- %MEM: 此列显示进程的驻留集大小与机器上的物理内存的比率,以百分比表示。

#使用-p选项和pidof命令一起列出正在运行的sshd进程。
[student@workstation ~]$ ps -p $(pidof sshd)
  PID TTY      STAT   TIME COMMAND
  985 ?        Ss     0:00 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,ae 1896 ?        Ss     0:00 sshd: student [priv]
 1915 ?        R      0:00 sshd: student@pts/0
#使用以下命令按内存使用量降序排列所有进程:
[student@workstation ~]$ ps ax --format pid,%mem,cmd --sort -%mem
  PID %MEM CMD
 1627 10.0 /usr/bin/gnome-shell
 1675  2.9 /usr/libexec/ibus-x11 --kill-daemon
 1644  2.2 /usr/bin/Xwayland :1024 -rootless -terminate -accessx -core -listen 4 -listen 5 -displayfd 6

1.1.2 使用top监控流程

top命令提供流程活动的实时报告,并提供一个供用户筛选和操作监视数据的接口。该命令的输出在顶部显示系统范围的摘要,在底部显示进程列表,默认情况下是根据使用CPU最多的任务排序的。
#-n 1选项在显示一次进程列表后终止程序。命令使用示例如下:
[student@workstation ~]$ top -n 1
top - 20:37:04 up 41 min,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 184 total,   2 running, 182 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  3.1 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1829.1 total,    923.8 free,    459.6 used,    445.7 buff/cache
top - 20:37:20 up 42 min,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 184 total,   3 running, 181 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  3.1 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1829.1 total,    923.8 free,    459.5 used,    445.7 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1204.0 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                               
 2472 student   20   0  273720   4396   3748 R   6.2   0.2   0:00.01 top                                                                                   
    1 root      20   0  179004  13556   8848 S   0.0   0.7   0:01.87 systemd                                                                               
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd                                                                              
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp         
#用于字段排序的有用组合键
- RES: 使用Shift+M基于驻留内存对进程进行排序。
- PID: 使用Shift+N根据进程ID对进程进行排序。
- TIME+: 使用Shift+T根据CPU时间对进程进行排序。
按F并从列表中选择一个字段以使用其他字段进行排序。
#重要的由于各种系统调用,top命令会给系统带来很大的开销。运行top命令时,运行top命令的进程通常是cpu消耗最多的进程。

1.1.3 监控内存使用情况

free命令列出空闲和使用的物理内存和交换内存。选项-b、-k、m、-g分别显示以字节、KB、MB或GB为单位的输出。-s选项作为参数传递,用于指定两次刷新之间的秒数。例如,free -s1每1秒产生一次更新。
[student@workstation ~]$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1829         459         924          17         445        1204
Swap:             0           0           0
[student@workstation ~]$ free -s 1
              total        used        free      shared  buff/cache   available
Mem:        1872980      470012      946500       17708      456468     1233388
Swap:             0           0           0

              total        used        free      shared  buff/cache   available
Mem:        1872980      469980      946532       17708      456468     1233420
Swap:             0           0           0
buff/cache和availbale接近零的值表示内存不足。如果可用内存超过总内存的20%,并且已使用内存接近总内存,那么这些值表示系统处于健康状态。

1.1.4 监控文件系统使用情况

与文件系统相关联的一个稳定标识符是它的UUID,这是一个非常长的十六进制数,充当通用唯一标识符。这个UUID是文件系统的一部分,只要不重新创建文件系统,它就保持不变。#lsblk - fp命令列出了设备的完整路径,以及uuid和挂载点,以及分区中的文件系统类型。如果文件系统未挂载,则挂载点显示为空。
[student@workstation ~]$ lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  10G  0 disk 
└─vda1 252:1    0  10G  0 part /
[student@workstation ~]$ lsblk  -fp
NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
/dev/vda                                                      
└─/dev/vda1 xfs          884f47c9-a69d-4c5b-915d-6b7c9c74c923 /
#findmnt命令允许用户快速查看在哪里挂载了什么,以及使用了哪些选项。在不带任何选项的情况下执行findmnt命令将以树的布局列出所有挂载的文件系统。使用- s选项从/etc/fstab文件中读取文件系统。使用- S选项按源磁盘搜索文件系统。
[student@workstation ~]$ findmnt -S /dev/vda1 
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda1 xfs    rw,relatime,seclabel,attr2,inode64,noquota
#df命令提供文件系统的总使用情况。h选项将输出转换为人类可读的形式。
[student@workstation ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        881M     0  881M   0% /dev
tmpfs           915M     0  915M   0% /dev/shm
tmpfs           915M   18M  898M   2% /run
tmpfs           915M     0  915M   0% /sys/fs/cgroup
/dev/vda1        10G  5.1G  5.0G  51% /
tmpfs           183M   28K  183M   1% /run/user/42
tmpfs           183M  4.0K  183M   1% /run/user/1000
du命令显示给定目录及其子目录中所有文件的总大小。-s选项禁止输出详细信息,只显示总数。与df -h命令类似,-h选项将输出显示为人类可读的形式。
[student@workstation ~]$ du
12      ./.ssh
32      ./.config/pulse
0       ./.config/procps
40      ./.config
68      .
[student@workstation ~]$ du -s
68      .
[student@workstation ~]$ du -sh
68K     .
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   31   0   0 linux网卡
  nIt0XG0acU8j   2023年12月11日   32   0   0 linuxhtop
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  nIt0XG0acU8j   2023年12月09日   36   0   0 linuxsort