Kylin麒麟操作系统 | 系统监控

以下所使用的环境为:

虚拟化软件:VMware Workstation 17 Pro

麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64

一、系统状态查询工具

1. 静态显示系统进程信息ps

ps命令会生成一个静态列表,列表中显示的进程其实是你执行命令时,捕获当前系统进程的一个快照信息。执行完命令后出现的进程,不会自动更新到当前显示中。如果需要实时更新进程信息,则需要使用到top命令和系统监控应用。

列出当前系统的所有进程信息

会显示进程的PID、进程附属终端、进程状态、进程占用的CPU时间、可执行文件的名字

bash 复制代码
ps -ax

列出当前系统的全部进程信息,包含详细信息

除了ps -ax提供的信息外,还显示进程属主的名称、进程占用CPU和内存的百分比、显示虚拟内存大小和未交换物理内存的大小(字节)、进程的开始运行时间

bash 复制代码
ps -aux

结合管道符操作符,将当前系统运行状态中指定进程过滤出

bash 复制代码
ps -ef | grep ssh

集合管道操作符和sort命令,根据内存使用量降序排序

bash 复制代码
ps -aux | sort -rnk 4

2. 实时显示系统进程信息top

top命令的功能是实时显示系统运行状态,包含处理器、内存、服务、进程等重要资产信息。可以将top命令比作加强版的Windows任务管理器。还可以对进程做更进一步的操作,例如杀死某个进程。

top的互动命令

命令 描述
Space 刷新
h 显示帮助
k 杀死进程,后续需要输入进程ID和信号值
n 设置要显示的进程数量
u 按用户排序
r 按pid修改进程的优先级
M 按内存使用量排序
P 按CPU使用率排序
q 退出top

杀死指定进程


3. 系统监控工具

麒麟操作系统提供了一个图形界面的系统监控工具【系统监视器】,功能界面有点类似于Windows的任务管理器。


4. 显示系统内存使用情况free

free命令的功能是显示系统内存使用量,包含物理内存和交换内存的总量、使用量、空闲量情况。

显示内存总量、使用内存大小、空闲内存大小、共享内存大小、buff的大小和cache的大小(缓存)、以及可用空间(free的默认单位是字节)

如果需要以MB为单位显示,可以添加[-m]参数;如果要显示单位,可以添加[-h]参数

bash 复制代码
free -m

5. 显示块设备信息blkid

blkid命令能够查看Linux系统中的全部块设备信息,也就是硬盘或光盘设备,可以根据块设备名称、文件系统类型、卷标签、UUID等参数进行信息检索。

显示当前系统的块设备信息,只有root用户才有权限查看

bash 复制代码
blkid

查看指定硬盘的块设备信息

bash 复制代码
blkid /dev/sda1

6. 查看系统的磁盘使用情况lsblk

lsblk命令提供更多的信息和输入格式控制,它是从 udev 读取信息,无需root用户也可以使用该命令。命令可以输出主设备名、子设备名、设备文件大小、设备是否只读、设备类型、设备的挂载路径。默认情况下,命令是以树状结构输出相关参数信息。

查看当前系统的磁盘使用情况

bash 复制代码
lsblk

以列表方式输出磁盘使用情况

bash 复制代码
lsblk -l

7. 显示磁盘空间使用量df

df的功能是显示系统上磁盘空间的使用量情况,命令会显示磁盘的名称、类型、容量、已用容量、可用容量、已使用的百分比、挂载点。

显示系统全部磁盘的使用量

bash 复制代码
df

显示系统全部磁盘的使用量,同时显示单位

bash 复制代码
df -h

显示系统全部磁盘的使用量,显示单位和磁盘类型

bash 复制代码
df -hT

显示指定文件类型的磁盘使用量

bash 复制代码
df -t xfs

8. 查看文件或目录大小du

du命令来自英文 disk usage 的缩写,该命令可以查看文件或目录的大小,df和du的区别在于,df是查看磁盘使用量,而du是查看文件或目录在磁盘中的占用情况。默认情况下,du命令以千字节为单位显示磁盘的使用情况。

以易读的容量格式显示查看目录和各个文件的大小信息

bash 复制代码
du -h

以易读的方式查看指定目录内的文件总大小

bash 复制代码
du -sh /etc/selinux

显示指定文件的大小信息(默认单位kb)

bash 复制代码
du /etc/selinux/config

二、影响服务器性能因素

影响服务器性能的因素

  • 系统级别
    • 内存
    • CPU
    • 磁盘I/O
    • 网络I/O带宽
  • 应用程序及软件
    • Nginx、MySQL、Tomcat
    • 应用程序代码

系统性能评估

  1. 使用率:表示资源用于服务的时间或容量百分比。100%的使用率,表示容量已经用完或全部时间都用在服务
  2. 饱和度:表示资源的繁忙程度,通常与等待队列的长度相关。100%的饱和度,表示资源无法接受更多的请求
  3. 错误数:发生错误的事件个数。错误越多,表明系统的问题越严重。

常用的系统性能组合分析命令

命令 说明
top、uptime 检查系统的整体负载
vmstat、sar、iostat、top 检查是否是CPU瓶颈
free、vmstat 检查是否是内存瓶颈
iostat 检查是否是磁盘I/O瓶颈
netstat、iftop 检测是否是网络带宽瓶颈

1. 查看系统负载uptime

uptime命令能够显示系统已经运行多久时间、当前登录用户数,以及过去1分钟、5分钟、15分钟的负载信息。其中三个时间段的负载值一般不能大于系统逻辑CPU核数的2倍。

  • >系统逻辑CPU核数的2倍,CPU很繁忙,负载很高,可能会影响系统性能
  • <系统逻辑CPU核数的2倍,系统还存在空闲时间片
  • =系统逻辑CPU核数的2倍,CPU或服务器处于闲置

查看当前系统的负载与相关信息

bash 复制代码
uptime

查看当前系统的CPU核心数

bash 复制代码
cat /proc/cpuinfo | grep "cpu cores"

2. 监视系统资源状态vmstat

vmstat用于监视系统资源状态,可以查看关于进程、内存、硬盘I/O等整体运行状态。vmstat输出一段时间内的平均值,该值是自系统上次启动以来计算的平均值。

  • **r:**等待运行时间的进程数量
  • **b:**处于不可中断睡眠状态的进程数。睡眠过程分为两种,一种是可中断一种是不可中断。其中不可中断指的是在中断后数据会丢失
  • **swpd:**使用的虚拟内存数(KB)
  • **free:**可用的内存量(KB)
  • **buff:**缓存数量(用作应用程序的缓存,KB)
  • **cache:**缓存数量(用于硬盘空间的缓存,KB)
  • **si:**从磁盘中交换到内存的平均速率(KB/秒)
  • **so:**从内存中交换硬盘的平均速率(KB/秒)
  • **bi:**从内存向磁盘交换数据的平均块数/秒
  • **bo:**从硬盘向内存交换数据的平均块数/秒
  • **in:**每秒中断数量
  • **cs:**上下文切换数量/秒
  • **us:**用户时间
  • **sy:**系统时间
  • **id:**空闲时间
  • **wa:**等待时间
  • **st:**窃取时间

us+sy的参考值为80%,如果大于80%说明可能存在CPU资源不足。

3. 监控系统资源的占用情况pidstat

pidstat用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。与vmstat相对比,vmstat只能给出系统总体的上下文切换情况(关注整体),而pidstat可以查看进程的具体CPU上下文切换(关注进程)。

4. 统计系统运行状态sar

sar命令可以统计系统运行状态,使用sar会增加系统开销,不过开销是可估量,对系统的统计结果不会有很大影响。

统计CPU设备的负载信息

bash 复制代码
sar -u		# -u选项,针对某个系统的CPU统计输出
相关推荐
betazhou1 天前
麒麟V10 SP3环境安装金仓
麒麟·kingbase·电科金仓
紫郢剑侠3 天前
【C语言编程gcc@Kylin | 麒麟 】5:获取系统启动时间
c语言·开发语言·kylin·gcc·麒麟操作系统
l1t5 天前
用官方安装脚本安装duckdb 1.5并测试加载各种插件
数据库·docker·postgresql·kylin
l1t6 天前
在ARM64 KyLin计算机上安装llama.cpp
大数据·llama·kylin
66清小风6 天前
服务器安装操作系统报X or window manager startup failed, falling back to mode
linux·kylin
l1t6 天前
在华为arm64 kylin计算机上安装docker编译llama.cpp的步骤
华为·docker·llama·kylin
ascarl20106 天前
Kylin V10 服务器,解决Xorg 占用内存很高的问题
服务器·github·kylin
LinuxGeek10246 天前
从Centos-7迁移和升级到(银河麒麟)Kylin V7的教程
python·centos·kylin
运维老司机6 天前
国产鲲鹏服务器 Kylin Linux 部署 TiDB v8.5.5 实战(TiUP 单机部署完整教程)
linux·服务器·kylin
ZFB000120 天前
【麒麟桌面系统】V10-SP1 2503 系统知识——插入U盘(移动硬盘)为只读状态
linux·运维·kylin