Kylin麒麟操作系统 | 系统监控
以下所使用的环境为:
虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64
一、系统状态查询工具
1. 静态显示系统进程信息ps
ps命令会生成一个静态列表,列表中显示的进程其实是你执行命令时,捕获当前系统进程的一个快照信息。执行完命令后出现的进程,不会自动更新到当前显示中。如果需要实时更新进程信息,则需要使用到top命令和系统监控应用。
列出当前系统的所有进程信息
会显示进程的PID、进程附属终端、进程状态、进程占用的CPU时间、可执行文件的名字
ps -ax

列出当前系统的全部进程信息,包含详细信息
除了ps -ax提供的信息外,还显示进程属主的名称、进程占用CPU和内存的百分比、显示虚拟内存大小和未交换物理内存的大小(字节)、进程的开始运行时间
ps -aux

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

集合管道操作符和sort命令,根据内存使用量降序排序
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]参数
free -m

5. 显示块设备信息blkid
blkid命令能够查看Linux系统中的全部块设备信息,也就是硬盘或光盘设备,可以根据块设备名称、文件系统类型、卷标签、UUID等参数进行信息检索。
显示当前系统的块设备信息,只有root用户才有权限查看
blkid

查看指定硬盘的块设备信息
blkid /dev/sda1

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

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

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

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

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

显示指定文件类型的磁盘使用量
df -t xfs

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

以易读的方式查看指定目录内的文件总大小
du -sh /etc/selinux

显示指定文件的大小信息(默认单位kb)
du /etc/selinux/config

二、影响服务器性能因素
影响服务器性能的因素
- 系统级别
- 内存
- CPU
- 磁盘I/O
- 网络I/O带宽
- 应用程序及软件
- Nginx、MySQL、Tomcat
- 应用程序代码
系统性能评估
- 使用率:表示资源用于服务的时间或容量百分比。100%的使用率,表示容量已经用完或全部时间都用在服务
- 饱和度:表示资源的繁忙程度,通常与等待队列的长度相关。100%的饱和度,表示资源无法接受更多的请求
- 错误数:发生错误的事件个数。错误越多,表明系统的问题越严重。
常用的系统性能组合分析命令
| 命令 | 说明 |
|---|---|
| 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或服务器处于闲置
查看当前系统的负载与相关信息
uptime

查看当前系统的CPU核心数
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设备的负载信息
sar -u # -u选项,针对某个系统的CPU统计输出

相关文章:
Kylin麒麟操作系统 | 系统监控
以下所使用的环境为: 虚拟化软件:VMware Workstation 17 Pro 麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64 一、系统状态查询工具 1. 静态显示系统进程信息ps ps命令会生成一个静态列表,列表中显示的进程其…...
vLLM服务设置开机自启动(Linux)
要在开机时进入指定的 conda 环境并启动此 vllm 服务,您可以通过以下步骤设置一个 systemd 服务来自动执行脚本。 一、第一步:创建一个启动脚本 1.打开终端并创建启动脚本,例如 /home/username/start_vllm.sh(请替换 username 为…...
MongoDB#Code和Function
背景 在MongoDB Shell中, 使用db.system.js.inertOne 新增一个自定义函数后,读取值类型显示Code Class,该如何使用?Code类型和Function能互相转换吗? 实践 // 保存一个函数到 system.js 集合 db.system.js.insertOne({_id: &qu…...
MT-Metrics
MT-Metrics 是一类用于评估生成文本质量的指标,最初用于机器翻译任务,后来扩展到生成任务(如对话生成、文本摘要等)。它的核心思想是通过比较生成文本与参考文本之间的相似性(如词汇重叠、句法结构、语义相似性&#x…...
几个api
几个api 原型链 可以阅读此文 Function instanceof Object // true Object instanceof Function // true Object.prototype.isPrototypeOf(Function) // true Function.prototype.isPrototypeOf(Object) // true Object.__proto__ Function.prototype // true Function.pro…...
数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例
数字IC后端时钟树综合专题(OCC电路案例分享) 复杂时钟设计时钟树综合(clock tree synthesis)常见20个典型案例 1、什么是OCC? 片上时钟控制器(On-chip Clock Controllers ,OCC),也称为扫描时钟控制器(Scan Clock Con…...
SurfaceFlinger代码笔记
drawLayers是做client合成,合成完以后的buffer会放在RenderSurface里 FrameBufferSurface里的buffer是通过setClientTarget给到HWC的(HWC应该给client合成的buffer留了一个slot) Output.cpp这个文件非常关键,代表着具体一个Display的操作 d…...
Trae根据原型设计稿生成微信小程序密码输入框的踩坑记录
一、需求描述 最近经常使用Trae生成一些小组件和功能代码(对Trae赶兴趣的可以看之前的文章《TraeAi上手体验》),刚好在用uniapp开发微信小程序时需要开发一个输入密码的弹框组件,于是想用Trae来实现。原型设计稿如下:…...
软件测试丨Docker与虚拟机架构对比分析
Docker 与虚拟机(VM)在架构上有显著区别,主要体现在资源利用、性能、隔离性和启动时间等方面。以下是两者的主要架构区别: 1. 架构层次 Docker: 主机操作系统:Docker 直接运行在宿主机的操作系统上。Docker 引擎&…...
在VsCode中选择conda编译器环境
当vscode出现始终在激活一个已经不存在的虚拟环境,可选择手动将其调换 在 Visual Studio Code (VSCode) 中选择 Python 虚拟环境的步骤如下: 确保安装了 Python 插件:首先,你需要确保已经安装了适用于 VSCode 的 Python 插件。你…...
微信小程序 - 条件渲染(wx:if、hidden)与列表渲染(wx:for)
一、条件渲染概述 条件渲染用于根据特定条件决定是否渲染某部分内容 微信小程序提供了两种方式实现条件渲染,分别是 wx:if、hidden 二、条件渲染 1、wx:if (1)基本介绍 wx:if 根据 condition 的真假决定是否渲染该组件及其子组件 condit…...
【STL】4.<list>
list 前言list容器一.list初始化二.常用函数三.排序 总结 前言 stl系列主要讲述有关stl的文章,使用STL可以大大提高程序开发的效率和代码的可维护性,且在算法比赛中,STL可以帮助我们更方便地实现各种算法。提高我们的效率。 list容器 要使用…...
华为AP 4050DN-HD的FIT AP模式改为FAT AP,家用FAT基本配置
在某鱼买了两台华为AP 4050DN-HD , AP是二手的 , 在AC上上过线 , 所以就不能开机自选为FIP模式了 我没有AC无线控制器 , 就是买一个自己玩 , AP又是FIT瘦AP模式 ,所以我就想把AP的瘦AP模式改为FAT胖AP模式 1. 准备工作 1.1下载好对应软件,进入到 企业业务网站去下…...
vue 设置生产 开发 测试环境
在 Vue.js 中,可以通过配置不同的环境变量来区分生产、开发和测试环境的请求。一般情况下,我们使用 webpack 或 Vite 进行构建,它们都支持环境变量的配置。 以下是如何在 Vue 项目中配置不同环境的请求: 1. 配置 .env 文件 在项…...
vue3+ts+uniapp+unibest 微信小程序(第二篇)—— 图文详解自定义背景图页面布局、普通页面布局、分页表单页面布局
文章目录 简介一、自定义背景图布局1.1 效果预览1.2 实现思路1.3 custom-page 组件全量代码1.4 页面使用 二、普通页面布局2.1 效果预览2.2 实现思路2.3 公共样式部分2.4 页面使用 三、分页表单页面布局3.1 效果预览3.2 实现思路3.3 页面代码 简介 开发工具:VsCode…...
虚拟机缩放比例问题处理
上班打开虚拟机的样子。 最开始判断可能是vmtools 异常重启安装后发现没有效果 通过 xrandr 功能查询显示器信息获取显示器名 设置显示器 同时设置分辨率 也可以同时设置刷新率 注意下图中设置的关键字...
bean的管理-03.第三方bean
一.第三方bean的定义 对于我们自己定义的类,如果想要将其注入到IOC容器当中,可以使用Component,Controller,Service,Repository注解。但是对于第三方的类来说,并不能使用以上注解来定义,因此我…...
【Python 入门基础】—— 人工智能“超级引擎”,AI界的“瑞士军刀”,
欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创…...
DeepSeek-R1-Zero:基于基础模型的强化学习
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列四DeepSeek大模型技术系列四》DeepSeek-…...
(dp 买入股票的最佳时机)leetcode 121
题目 题解的dp数组 0列是负数,这里我改成正数不再相加而是相减获取利润 class Solution { public:int maxProfit(vector<int>& prices) {int nprices.size();vector<vector<int>>dp(n,vector<int>(2));dp[0][0]prices[0];dp[0][1]0;//0…...
由 Mybatis 源码畅谈软件设计(三):简单查询 SQL 执行流程
大家好,我是 方圆。SQL 查询是 Mybatis 中的核心流程,本节我们来介绍简单 SQL 的执行流程,过程会比较长,期间会认识很多重要的组件,比如 SqlSession、四大处理器(Executor、StatementHandler、ParameterHan…...
项目实践 之 pdf简历的解析和填充(若依+vue3)
文章目录 环境背景最终效果前端讲解左侧模块解析右侧上传模块解析前端步骤 后端讲解代码前端 环境背景 若依前后端分离框架 vue最后边附有代码哦 最终效果 前端讲解 左侧模块解析 1、左侧表单使用el-form 注意: 1、prop出现的字段,需要保证是该类所…...
C语言机试编程题
编写版本:vc2022 1.求最大/小值 #include<stdio.h> int main(){int a[50],n;int max, min;printf("请输入您要输入几个数");scanf_s("%d", &n);printf("请输入您要比较的%d个数\n",n);for (int i 0; i<n; i) {scanf_…...
lowagie(itext)老版本手绘PDF,包含页码、水印、图片、复选框、复杂行列合并、行高设置等。
入口类:exportPdf package xcsy.qms.webapi.service;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.ibm.icu.text.RuleBasedNumberFormat; import com.lowagie…...
第002文-kali虚拟机安全与网络配置
1、kali系统介绍 kali是一个基于Linux kernel的操作系统,由BackTrack(简称BT)发展而来。BackTrack是2006年推出的一个用于渗透测试及黑客攻防的专用平台,基于Knoppix(linux的一个发行版)开发。BackTrack版本周期:2006年的起始版本BackTrack …...
软件工程复试专业课-软件生命周期
文章目录 软件过程模型瀑布模型模型图特点优缺点改进后的瀑布模型 快速原型模型模型图优缺点 增量模型(迭代-递增模型)原型图与瀑布和快速原型的区别优缺点风险更大的增量模型 螺旋模型简介模型图优缺点 喷泉模型模型图优缺点 编码修补模型敏捷过程优缺点…...
DILLEMA:扩散模型+大语言模型,多模态数据增强框架
引言:深度学习模型的鲁棒性测试需要全面且多样化的测试数据。现有的方法通常基于简单的数据增强技术或生成对抗网络,但这些方法在生成真实且多样化的测试数据集方面存在局限性。为了克服这些限制,DILLEMA框架应运而生,旨在通过结合…...
OpenBMC:BmcWeb app获取socket
OpenBMC:BmcWeb app.run-CSDN博客 app对象在run函数中调用了setupSocket() static std::vector<Acceptor> setupSocket() {std::vector<Acceptor> acceptors;char** names = nullptr;int listenFdCount = sd_listen_fds_with_names(0, &names);BMCWEB_LOG_DE…...
突破加速度计的精度与量程瓶颈:HEROS-GAN技术
在当今科技飞速发展的背景下,低成本传感器的应用范围日益扩大。然而,低成本加速度计由于其固有的限制——如信号噪声显著和动态范围狭窄——往往难以满足高精度应用场景的需求。哈尔滨工业大学的研究团队最近提出了一项名为HEROS-GAN(Honed-E…...
C++程序员内功修炼——Linux C/C++编程技术汇总
在软件开发的宏大版图中,C 语言宛如一座巍峨的高山,吸引着无数开发者攀登探索。而 Linux 操作系统,以其开源、稳定、高效的特性,成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合,就如同为开发者配备了一把无坚不…...
