linux系统性能测试之虚拟内存管理篇
为什么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系统性能测试之虚拟内存管理篇相关推荐
- 20个命令行工具监控 Linux 系统性能(转载)
1. top - Linux 系统进程监控 top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具.Top 命令可以 ...
- nmon监控linux内存,使用Nmon监控Linux系统性能
Nmon (又称 Nigel's Monitor) 是一款常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统.该工具可以直接在屏 ...
- Linux系统性能相关知识学习
目录 0.Windows中性能相关的内容 1.网络通信 2.CPU・内存 3.1.循环往指定目录放入文件 ( 文件会被Splunk引擎传送走.并删除. 如果文件生成的过快,就会产生滞留) 3.2.不 ...
- linux_nmon监控教程,如何使用Nmon监控Linux系统性能
Nmon ( 又名 Nigel's Monitor) 是非常常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统.该工具可以直接在 ...
- Linux系统性能监控和管理命令技能全get
Linux系统性能监控和管理 1.top监控系统进程 2.free命令查看内存空间使用情况 3.vmstat命令查看虚拟内存信息 4.使用iostat统计CPU和设备IO信息 5.iftop显示带宽使 ...
- Linux系统性能监控
Linux系统性能监控 1. 前期准备 2.Linux系统性能查看 2.1. Linux CPU的相关名词解释 2.2. Linux 性能指标分析指令 2.3. CPU 2.4. 磁盘IO类 2.5. ...
- Linux系统性能监控和调试
题记 对于每个互联网研发人员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作. 为此,我们总结了非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux ...
- Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取、存储和可视化展示
Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取.存储和可视化展示 1. 前言 2. Node_exporter 2.1 安装 node_expor ...
- 【性能测试】如何用一条命令完全掌握linux系统性能监控(top高阶用法)
目 录 一 引 言 二 top命令高阶用法 场景1:采样3次,采样间隔为10s: 场景2:采样2h,采样间隔为10s,性能数据保存到test.csv文件中: 一 引 言 熟悉CentOS linux ...
最新文章
- RDKit:基于支持向量回归预测logP
- 远程桌面mstsc /console(/admin) 的运用
- ML之LoRSGD:基于LoR(逻辑回归)、SGD梯度下降算法对乳腺癌肿瘤(10+1)进行二分类预测(良/恶性)
- Angular中使用axios实现get请求数据
- linux系统定时任务crond入门
- go语言载入json的一个坑
- 如何构建积木式Web应用
- AssetsLibrary使用介绍
- java 生成xml乱码_jdom解决中文乱码问题 JAVA生成xml文件帮了我很大的忙
- 多线程003 - 再谈CyclicBarrier
- MapReduce高级编程
- 计算机科学讲座的策划书,计算机科学与工学院女生新生讲座策划书.doc
- 中国特技飞机市场趋势报告、技术动态创新及市场预测
- Nginx 基于nginx-sticky-module模块进行会话保持
- python怎么发音乐到朋友圈_只要三步,用Python轻松制作短视频,你也能在朋友圈傲娇一把!...
- 数据库下午怎么插入_数据库中日期时间用法
- 打包fpm mysql_fpm制做mysql-5.6.33 rpm包
- lammps教程:推荐几个比较实用的lammps自带函数(2)
- java 验证码 库_iCaptcha-Java验证码库
- bt python_bt宝塔 安装个python失败? 阿里云轻量香港