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统计输出
相关推荐
一拳一个呆瓜5 天前
【银河麒麟系统常识】命令:uname -m(查看系统架构)
linux·.net·kylin
一拳一个呆瓜6 天前
【银河麒麟系统常识】命令:dotnet --list-sdks(列出已安装的 .NET SDK 版本)
linux·.net·kylin
一拳一个呆瓜6 天前
【银河麒麟系统常识】需求:安装.NET SDK
linux·.net·kylin
乙龙15 天前
在麒麟系统(基于Ubuntu或Debuntu)的离线环境中创建本地APT仓库
linux·运维·ubuntu·kylin
小袁搬码17 天前
银河麒麟V10SP3Server中离线安装Docker引擎与docker-compose
linux·docker·容器·kylin·银河麒麟v10·离线安装docker
乙龙18 天前
麒麟系统利用pycharm生成deb文件
kylin
是码农没错了1 个月前
银河麒麟系统安装mysql5.7【亲测可行】
linux·运维·kylin
xieet_01 个月前
Kylin server v10部署docker
大数据·docker·kylin
龙哥·三年风水2 个月前
麒麟操作系统-rabbitmq二进制安装
消息队列·延迟队列·麒麟