IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux 部分内存监控及指标含义 -> 正文阅读

[系统运维]linux 部分内存监控及指标含义

最近的两周业务上线,忙着搞系统的稳定性。最近忙完了,记录一下最近学习的一些内容,本篇主要介绍linux监控相关的

为了能够快速的定位问题,在每台机器上增加了一些定期执行的脚本,用于采集机器的状态,分别是:top,iostat,iotop,ioping,vmstat,dstat,sar

一个一个看吧

top

top -d3 -b -c -w1024

top指令非常简单了,主要定期dump一次,简单看看cpu利用率是否正常,wait和sys状态是否过高,另外用看看对应的内存信息

iostat

iostat -t -x -m 1

也是比较常用的指令,一般会展示如下的一些数据

rrqm/swrqm/sr/sw/srMB/swMB/savgrq-szavgqu-szawaitr_awaitw_awaitsvctm%util
读请求数写请求数完成的读请求完成的写请求读数据量写数据量平均读大小平均写大小平均处理一个请求的时间

目前也没有通过这个指标定位到问题的经验,一般就看看读写数据量是否是正常的,是否有突然非常大量的读取和写入。

iotop

iotop -d 2 -o -P -t

这个指令会显示有io的进程,展示每个进程对应的读写数据量和swapin率,目前没用过这个值,根据man手册解释,这个应该是进城等待内存换入所花的时间百分比,应该只有swap区打开的情况下这个值才可能是非0?

ioping

ioping -S 10485760 -y -k -W -L -s 4k

该指令会定期写入4k数据块到磁盘,测试磁盘的延迟,某些时候server层请求出现毛刺,排查后发现磁盘在那个时间点延迟升高,可能就是磁盘抖动导致的延迟毛刺,如果不是非常有必要的情况下,排查到磁盘的抖动就可以结束了。

vmstat

vmstat -t -w 1

该指令能够看到一些内存page信息,free buffer cache的page数量,以及block读入和写出的一些数量

sar

sar -B 1
pgpgin/spgpgout/sfault/smajflt/spgfree/spgscank/spgscand/spgsteal/s

这个接触得少一点,简单记录一下

  • fault/s。是page fault的次数,包括minor和major,按照man来开,major指的应该是需要从disk读数据的
  • majflt/s。major page fault次数
  • pgfree/s。归还给空闲链表的page数量,看起来这个应该是指的用户进程归还的,即从used 到 free里的?
  • pgscank/s。扫描到可回收的内存页,内核会起一个线程不停的扫描,找到可回收的内存页进行回收,所以这个scan无所谓,定期执行,在内存水位低于一定情况时就会触发(应该是低于min free byte*一个系数)
  • pgscand/s。扫描到可回收的内存页,这个是强制回收,当内存低于minfreebytes的时候触发,会卡住进程,如果这一列非零需要注意
  • pgsteal/s。从cache中回收的page数量,基本和两个scan之和是一致的。

pgsteal和pgfree的区别,steal是回收目前正在被使用的内存,从active和inactive中回收,如果是page cache,那么可以直接回收(脏页就写了后回收,非脏页直接回收),如果是从匿名区回收,那么就需要将用户正在使用的内存页唤出到swap,极度影响性能,建议优先回收page cache,内核有参数可以设置该策略。

proc meminfo

这个内容就特别多了,可以参考meminfo 详解

我主要关注几个点

  • cache和buffer的区别,从man手册看,buffer是对于块设备的缓冲区,cache是文件系统的缓存,即理论上来说数据从磁盘读出来,缓存到buffer,然后整理后交给文件系统,文件系统的cache又会缓存一次,这个每意义,所以目前文件系统的cache和buffer是同一个东西。对于我们这种使用文件系统的应用来说,buffer和cache没区别
  • active和inactive链表都是在使用中的内存,上述说的scan回收page也是在链表上回收,对于匿名区和page cache回收策略不一样,会优先从inactive链表上回收(我也不知道能不能从active上回收)
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:29:31  更:2022-05-07 11:30:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:49:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码