运维监控学习笔记4

系统监控:

CPU:

内存:

IO INPUT/OUTPUT(网络、磁盘)

CPU三个重要概念:

上下文切换:CPU调度器实施的进程的切换过程,称为上下文切换。CPU寄存器的作用。

上下文切换越频繁,对CPU消耗越大。

运行队列(负载):uptime,或者top命令,可以看到1分钟、5分钟、15分钟的负载。

维持一个运行队列,队列中的进程越多,说明CPU负载越高。

CPU使用率:

用户态和内核态:

us:用户态的CPU使用率:

sy:内核态的CPU使用率:

ni:CPU进程优先级切换,进程优先级为负的百分比:

id:空闲;

wa:IO等待的百分比;

hi:CPU硬中断的百分比;

si:CPU软中断的百分比;

st:虚拟CPU等待实际CPU的百分比;

时间片:执行多个进程成为可能,某个时刻只有一个进程正在运行。

配置进程的优先级:

确定服务类型:

IO密集型:数据库

CPU密集型:web服务、mail服务等

确定性能的基准线:

运行队列:1-3个线程 **1个CPU,4核的,负载不超过12。**经验值。

CPU使用率:65%-70% 用户态的利用率,30%-35%内核态的利用率,内核态不要超过30%,超过30%说明是有问题的。0%-%5 空闲。

执行到某个代码,CPU使用率就上去了,那说明代码是有问题。

上下文切换:根据业务进行设计。经验值。

CPU的监控工具:

1)top命令:

大写的P:按CPU使用率排序。

大写的M:按内存的使用率排序。

)sysstat工具:

bash 复制代码
yum install -y sysstat


[root@vm1 snmp]# vmstat --help

Usage:
 vmstat [options] [delay [count]]

Options:
 -a, --active           active/inactive memory
 -f, --forks            number of forks since boot
 -m, --slabs            slabinfo
 -n, --one-header       do not redisplay header
 -s, --stats            event counter statistics
 -d, --disk             disk statistics
 -D, --disk-sum         summarize disk statistics
 -p, --partition <dev>  partition specific statistics
 -S, --unit <char>      define display unit
 -w, --wide             wide output
 -t, --timestamp        show timestamp

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see vmstat(8).
[root@vm1 snmp]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1237608   2080 445400    0    0     5     1   13   17  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   63   84  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   55   78  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   46   69  0  1 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   49   72  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   44   69  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   42   62  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   46   69  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   41   62  0  0 100  0  0
 0  0      0 1237608   2080 445400    0    0     0     0   39   62  0  0 100  0  0
[root@vm1 snmp]#

2)mpstat:

bash 复制代码
[root@vm1 ~]# mpstat
Linux 3.10.0-1160.92.1.el7.x86_64 (vm1)         08/13/2023      _x86_64_        (2 CPU)

03:22:53 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:22:53 PM  all    0.87    0.00    3.18    0.10    0.00    0.04    0.00    0.00    0.00   95.81
相关推荐
无奈笑天下3 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla6 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州7 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__8 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo8 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
坤坤子吖11 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump11 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风12 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府13 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT13 小时前
【RHCA+】IO调度算法
linux·服务器