通过Linux命令监控CPU案例

通过Linux命令监控CPU案例

1.CPU利用率
查看cpu核数 输入top指定后 输入1 则显示cpu核数 cpu核数为4核
核数
根据top显示的结果进行分析

监控参数说明:
us	用户态CPU时间(百分比)	
sy	系统态CPU时间(百分比)	
id	空闲CPU时间(百分比)	
wa	等待IO的CPU时间
load average CPU平均占比
cpu利用率参考指标:
us 65% - 70% User Time 用户cpu占比 
sy 30% - 35% System Time  系统cpu占比
id 0% - 5% Idle Time  空闲cpu占比

如果id占比为0,代表空闲cpu为空,表示系统出现高负载情况。
如果load average占比>cpu核数 表示系统出现高负载情况。
如果wa很高,代表IO等待时间很高,有可能是磁盘IO出现瓶颈。
如果us>70%,超过标准的cpu利用率70%,表示系统出现高负载情况。

pidstat -u 1 -p (pid号)  获取单个线程占比cpu占比最大的pid  监控单个线程cpu使用率
如果us>70%,需要查询cpu利用率高的线程,找到线程中应用程序的内容,找到系统瓶颈。

2.整体数据分析
通过vmstat进行服务器整体分析
切换

监控参数说明:
r代表队列
cs代表上下文切换
in终端次数飙升 常说的软中断
si列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
so列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
bi列表示从块设备读入数据的总量
bo列表示写入到块设备的数据总量
wa列显示了I/O等待所占用的CPU时间百分比

数值分析

如果r数值长期大于系统CPU的个数,说明CPU不足,需要增加CPU。
cs数值和in数值出现频繁的变化,则存在高负载的情况。
bi+bo参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘I/O有问题,应该考虑提高磁盘的读写性能。
如果si、so的值长期不为0,则表示系统内存不足。需要增加系统内存。
wa值越高,说明I/O等待越严重。根据经验,wa的参考值为20%,如果wa值超过20%,说明I/O等待严重。
sy值比较高,一般是in(中断)和cs(上下文切换)导致的,可以根据具体的情况开启PRS或则减少应用的线程池。

3.软中断问题分析
通过mpstat进行软中断问题分析
分析数据

监控参数说明:
usr 用户cpu占比
sys 系统内核cpu占比
iowait io所使用的的cpu占比
irq   硬中断cpu占比
soft  软中断cpu占比
idle 空闲cpu占比

数值分析

如果soft数值很高,idle很低,需要考虑软中断优化。
### Linux 常用命令详解 #### 文件和目录管理 对于文件和目录的操作,在日常使用 Linux 中非常重要。常见的操作包括创建、删除、复制以及移动文件或目录。 - 创建新目录可以使用 `mkdir` 命令: ```bash mkdir new_directory_name ``` - 删除空目录则可以通过 `rmdir` 来完成;如果要强制移除非空目录及其内容,则需采用 `-rf` 参数配合 `rm` 使用[^2]。 - 复制文件到另一个位置可借助于 `cp`,而重命名或迁移文件/文件夹则是 `mv` 的职责所在。 #### 查看与编辑文本文件 处理纯文本数据也是必不可少的一部分工作流。这里列举几个常用的工具来帮助浏览和修改这些文档。 - 若要查看大文件的内容片段而不加载整个文件入内存,可以用 `head` 或者 `tail` 显示前几行或是最后若干行的数据。 - 对于更灵活的分页阅读体验来说,`less` 提供了一个交互式的界面让用户能够上下翻动页面甚至搜索特定模式串。 - 编辑方面,虽然有图形化的选项可供选择,但在终端环境下最流行的选择莫过于 Vim 和 Nano 这样的轻量级编辑器了。 #### 用户权限调整 为了保障系统的安全性合理分配资源访问权给不同用户组成员,掌握如何更改文件属性至关重要。 - 更改拥有者的身份通过 `chown` 实现,它允许指定新的所有者名称作为参数传递给目标路径下的对象。 - 设置读写执行许可位的任务交给 `chmod` 完成,支持符号法(如 u+x 表示增加当前用户的执行权限)及八进制编码两种方式设定具体数值。 #### 系统状态监控 了解正在运行的服务进程状况有助于诊断性能瓶颈问题或者排查故障原因。 - 列举活动中的程序列表可通过 `ps aux` 获取全面的信息快照,其中包含了 PID (Process ID), CPU 占用率, 内存消耗等重要指标项。 - 动态跟踪实时变化情况的话推荐利用 `top` 工具,其提供了丰富的统计图表展示各个维度上的动态趋势图谱。 以上只是部分精选出来的基础指令集介绍,实际上还有许多其他实用的功能等待探索发现。每一条命令背后都蕴含着强大的功能特性,值得深入研究学习以提高工作效率。 ```python import os def create_and_edit_file(): """演示创建文件打开nano编辑""" filename = "example.txt" with open(filename, 'w') as f: pass # 创建一个空文件 os.system(f'nano {filename}') # 打开Nano编辑器对该文件进行编辑 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值