为什么80%的码农都做不了架构师?>>>   

虚拟内存管理是 Linux 内核里面最复杂的部分,要弄懂这部分内容可能需要一整本书的讲解。VPSee 在这里只介绍和性能监测有关的两个内核进程:kswapd 和pdflush。 1、kswapd daemon 用来检查 pages_high 和 pages_low,如果可用内存少于 pages_low,kswapd 就开始扫描并试图释放 32个页面,并且重复扫描释放的过程直到可用内存大于 pages_high 为止。扫描的时候检查3件事:1)如果页面没有修改,把页放到可用内存列表里;2)如果页面被文件系统修改,把页面内容写到磁盘上;3)如果页面被修改 了,但不是被文件系统修改的,把页面写到交换空间。 2、pdflush daemon 用来同步文件相关的内存页面,把内存页面及时同步到硬盘上。比如打开一个文件,文件被导入到内存里,对文件做了修改后并保存后,内核并不马上保存文件到硬 盘,由 pdflush 决定什么时候把相应页面写入硬盘,这由一个内核参数 vm.dirty_background_ratio 来控制,比如下面的参数显示脏页面(dirty pages)达到所有内存页面10%的时候开始写入硬盘。 # /sbin/sysctl -n vm.dirty_background_ratio 10 vmstat 继续 vmstat 一些参数的介绍,上一篇 Linux 性能监测:CPU 介绍了 vmstat 的部分参数,这里介绍另外一部分。以下数据来自 VPSee 的一个 256MB RAM,512MB SWAP 的 Xen VPS: # vmstat 1 procs ———–memory———- —swap– —–io—- –system– —–cpu—— r b swpd free buff cache si so bi bo in cs us sy id wa st 0 3 252696 2432 268 7148 3604 2368 3608 2372 288 288 0 0 21 78 1 0 2 253484 2216 228 7104 5368 2976 5372 3036 930 519 0 0 0 100 0 0 1 259252 2616 128 6148 19784 18712 19784 18712 3821 1853 0 1 3 95 1 1 2 260008 2188 144 6824 11824 2584 12664 2584 1347 1174 14 0 0 86 0 2 1 262140 2964 128 5852 24912 17304 24952 17304 4737 2341 86 10 0 0 4 swpd,已使用的 SWAP 空间大小,KB 为单位; free,可用的物理内存大小,KB 为单位; buff,物理内存用来缓存读写操作的 buffer 大小,KB 为单位; cache,物理内存用来缓存进程地址空间的 cache 大小,KB 为单位; si,数据从 SWAP 读取到 RAM(swap in)的大小,KB 为单位; so,数据从 RAM 写到 SWAP(swap out)的大小,KB 为单位; bi,磁盘块从文件系统或 SWAP 读取到 RAM(blocks in)的大小,block 为单位; bo,磁盘块从 RAM 写到文件系统或 SWAP(blocks out)的大小,block 为单位; 上面是一个频繁读写交换区的例子,可以观察到以下几点: 1、物理可用内存 free 基本没什么显著变化,swapd 逐步增加,说明最小可用的内存始终保持在 256MB X 10% =2.56MB 左右,当脏页达到10%的时候(vm.dirty_background_ratio = 10)就开始大量使用 swap; 2、buff 稳步减少说明系统知道内存不够了,kwapd 正在从 buff 那里借用部分内存; 3、kswapd 持续把脏页面写到 swap 交换区(so),并且从 swapd 逐渐增加看出确实如此。根据上面讲的 。kswapd 扫描时检查的三件事,如果页面被修改了,但不是被文件系统修改的,把页面写到 swap,所以这里 swapd 持续增加。 原文地址:user.qzone.qq.com/812120608/blog/1293595397

转载于:https://my.oschina.net/mtoou/blog/15100

linux系统性能测试之虚拟内存管理篇相关推荐

  1. 20个命令行工具监控 Linux 系统性能(转载)

    1. top - Linux 系统进程监控 top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具.Top 命令可以 ...

  2. nmon监控linux内存,使用Nmon监控Linux系统性能

    Nmon (又称 Nigel's Monitor) 是一款常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统.该工具可以直接在屏 ...

  3. Linux系统性能相关知识学习

    目录 0.Windows中性能相关的内容 1.网络通信 2.CPU・内存 3.1.循环往指定目录放入文件  ( 文件会被Splunk引擎传送走.并删除. 如果文件生成的过快,就会产生滞留) 3.2.不 ...

  4. linux_nmon监控教程,如何使用Nmon监控Linux系统性能

    Nmon ( 又名 Nigel's Monitor) 是非常常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统.该工具可以直接在 ...

  5. Linux系统性能监控和管理命令技能全get

    Linux系统性能监控和管理 1.top监控系统进程 2.free命令查看内存空间使用情况 3.vmstat命令查看虚拟内存信息 4.使用iostat统计CPU和设备IO信息 5.iftop显示带宽使 ...

  6. Linux系统性能监控

    Linux系统性能监控 1. 前期准备 2.Linux系统性能查看 2.1. Linux CPU的相关名词解释 2.2. Linux 性能指标分析指令 2.3. CPU 2.4. 磁盘IO类 2.5. ...

  7. Linux系统性能监控和调试

    题记 对于每个互联网研发人员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作. 为此,我们总结了非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux ...

  8. Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取、存储和可视化展示

    Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取.存储和可视化展示 1. 前言 2. Node_exporter 2.1 安装 node_expor ...

  9. 【性能测试】如何用一条命令完全掌握linux系统性能监控(top高阶用法)

    目  录 一 引 言 二 top命令高阶用法 场景1:采样3次,采样间隔为10s: 场景2:采样2h,采样间隔为10s,性能数据保存到test.csv文件中: 一 引 言 熟悉CentOS linux ...

最新文章

  1. RDKit:基于支持向量回归预测logP
  2. 远程桌面mstsc /console(/admin) 的运用
  3. ML之LoRSGD:基于LoR(逻辑回归)、SGD梯度下降算法对乳腺癌肿瘤(10+1)进行二分类预测(良/恶性)
  4. Angular中使用axios实现get请求数据
  5. linux系统定时任务crond入门
  6. go语言载入json的一个坑
  7. 如何构建积木式Web应用
  8. AssetsLibrary使用介绍
  9. java 生成xml乱码_jdom解决中文乱码问题 JAVA生成xml文件帮了我很大的忙
  10. 多线程003 - 再谈CyclicBarrier
  11. MapReduce高级编程
  12. 计算机科学讲座的策划书,计算机科学与工学院女生新生讲座策划书.doc
  13. 中国特技飞机市场趋势报告、技术动态创新及市场预测
  14. Nginx 基于nginx-sticky-module模块进行会话保持
  15. python怎么发音乐到朋友圈_只要三步,用Python轻松制作短视频,你也能在朋友圈傲娇一把!...
  16. 数据库下午怎么插入_数据库中日期时间用法
  17. 打包fpm mysql_fpm制做mysql-5.6.33 rpm包
  18. lammps教程:推荐几个比较实用的lammps自带函数(2)
  19. java 验证码 库_iCaptcha-Java验证码库
  20. bt python_bt宝塔 安装个python失败? 阿里云轻量香港

热门文章

  1. 关于几种编码的那些事
  2. 文件与文件夹课后作业
  3. vs2010如何安装qt插件
  4. Linux0.11内核--加载可执行二进制文件之1.copy_strings
  5. 也谈闭包--小白的JS进阶之路
  6. 问:关于上升沿和下降沿触发的讨论
  7. HTML 中的字符实体集
  8. Java多线程之实现多线程的三种方法
  9. LightOJ 1112 - Curious Robin Hood 树状数组
  10. JAVA-2NIO之Channel