Linux系统内存还有剩余就开始使用swap交换区了
程序运行缓慢,查看内存剩余的时候发现Linux系统内存还有60G剩余就开始使用swap交换区了。发现vm/swappiness设置是默认值60,也就是内存使用超过40%(100-60)的时候就会使用交换区了。
系统把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
这个swap交换区是从硬盘中预先划分一定的空间,所以使用swap交换区就需要在硬盘和内存间读写,增加IO,影响系统性能。
查看vm.swappiness
cat /proc/sys/vm/swappiness
设置vm.swappiness=0 后并不代表禁用swap分区,只是告诉内核,能少用到swap分区就尽量少用到,设置vm.swappiness=100的话,则表示尽量使用swap分区,默认的值是60
修改vm.swappiness
echo 0 > /proc/sys/vm/swappiness
永久设置
/etc/sysctl.conf增加一行 vm.swappiness = 0
可以使用vmstat命令查看swap交换区使用情况
si
- Amount of memory swapped in from disk (/s).
- 从磁盘交换到swap虚拟内存的交换页数量,单位:KB/秒。如果这个值大于0,表示物理内存不够用或者内存泄露了
so
- Amount of memory swapped to disk (/s).
- 从swap虚拟内存交换到磁盘的交换页数量,单位:KB/秒,如果这个值大于0,表示物理内存不够用或者内存泄露了
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。
当看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,这个是不正确的。不能光看这一点,还要结合si和so,
如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。
当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,
这样会 出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,
但页导入操作就表明了服务器需要更多的内存了, 页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。
Linux系统内存还有剩余就开始使用swap交换区了相关推荐
- sql怎么把小数变百分比_云计算基本技能有哪些 怎么监控Linux系统内存
云计算基本技能有哪些?怎么监控Linux系统内存?Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行.掌握Shell脚本是对云计算运维工程师的 ...
- Linux系统内存管理之伙伴系统分析 - 旭东的博客 - 博客园
Linux系统内存管理之伙伴系统分析 - 旭东的博客 - 博客园 Linux系统内存管理之伙伴系统分析 今天去面试,一位面试官提到了内存管理的伙伴系统,当时就懵了,因为根本就没有听说过.晚上回来在实验 ...
- linux系统内存执行elf的多种方式
一.前言 无文件(fileless)恶意软件攻击现在已经越来越流行,这一点并不奇怪,因为这种技术通常不会留下蛛丝马迹.本文的重点不是介绍如何在Windows RAM中执行程序,我们的目标是GNU/Li ...
- Problem 64 如何设置Linux系统内存回收的阀值?
Problem 64 如何设置Linux系统内存回收的阀值? Ans: Linux内核的策略是最大程度的利用内存cache 文件系统的数据,提高IO速度,虽然在机制上是有进程需要更大的内存时,会自动释 ...
- Linux 系统内存分析
1. 内存基本介绍 1.计算机基本结构: 电脑之父--冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器 如图: 输入设备:键盘鼠标等 CPU:是计算机的运算核心和控制核心, ...
- 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究
[摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...
- 707-详解32位Linux系统内存地址映射
详解32位Linux系统内存地址映射 我们先看一段简单的C程序: 我们先来看一张图: 我们平时所说的x86 32位指的是:80386往后到现在的同一个体系的CPU处理芯片,但是x86这个芯片是从808 ...
- linux系统内存dump机制介绍(一)--kdump
本文来自 网易云社区 . kdump的原理介绍 按照linux系统的设计哲学,内核只提供dump内存的机制,用户想要dump什么样的内存,dump多少内存是属于策略问题,由用户来决定. 在真实的使用场 ...
- Linux系统内存知识总结
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:22j.co/dJ29 Linux 内存是后台开发人员,需要深入了解 ...
最新文章
- php购票排位_用PHP+MySQL实现12306购票和退票以及余票查询逻辑
- Spring 3.1:缓存和EhCache
- Netty工作笔记0020---Selectionkey在NIO体系
- linux系统安装如何设置raid,在RAID磁盘阵列下如何搭建Linux系统
- BZOJ1051|HAOI2006受欢迎的牛|强连通分量
- Oracle入门《Oracle介绍》第一章1-4 Oracle 用户管理
- python文件操作的方法_python文件操作的方法介绍
- 微信小程序API之getSystemInfo
- 【数学建模】BP神经网络算法模型
- OSN1800V OSN1800II OSN1800I 华为全新原包装分组增强型多业务光传送平台
- 网络安全信息收集的思路
- GDB 调试错误解决
- 做外链的六个有效技巧
- 2021年化工自动化控制仪表考试资料及化工自动化控制仪表免费试题
- 计算机网络嗅探实验,网络嗅探与欺骗实验
- 2019~ROS暑期学校~ROS Summer School in China~分享
- 分支与循环结构测试题(有答案版)
- val和var的区别
- {2018.4.12}荀(gou)彧(huo)同学的第一次考试小总结
- SilverLight合计行设计
热门文章
- 【方案分享】地产项目2022年新春1月系列暖场活动策划方案:新年置业,如虎添翼.pptx(附下载链接)...
- 【白皮书分享】2021汽车产业数字化转型白皮书-腾讯研究院.pdf(附下载链接)...
- 她看:2021年95后女性人群洞察与媒体消费趋势前瞻.pdf(附下载链接)
- 从 200 多篇顶会论文看预训练语言模型研究进展
- KBQA相关论文分类整理
- cydia源_Cydia错误提示解决大全
- goto php 源码,GoToPHP
- php 绝对刷新,vue项目线上页面刷新报404 解决方法(绝对有用)
- Leetcode每日一题:22.generate-parentheses(括号生成)
- 如何解决ValueError: unknown is not supported