linux的系统采用的内存方案一般都是 物理内存+swap。物理内存供日常使用,swap用来救急。

但在实际使用的过程中,发现有时候物理内存还没被完全占用的情况下,已经开始使用swap了。而这时候,由于I/O瓶颈问题,会导致性能的降低,这就需要我们进行一下调整,能用物理内存的情况下尽量不要使用swap。

1.内核参数的调整。

有个参数,名为vm.swappiness,值的范围大概是0-100,0表示尽量使用物理内存,100表示尽量使用swap,而我们的目的是尽量使用物理内存。

kernel的文档(https://www.kernel.org/doc/Documentation/sysctl/vm.txt)中有如下说明:

swappiness

This control is used to define how aggressive the kernel will swap
memory pages.  Higher values will increase agressiveness, lower values
decrease the amount of swap.  A value of 0 instructs the kernel not to
initiate swap until the amount of free and file-backed pages is less
than the high water mark in a zone.

The default value is 60.

此时我们就将值设为0。

1) 在 /etc/sysctl.conf 中添加一行:

vm.swappiness=0

2) 执行命令:sysctl -p

3) 验证是否修改成功:sysctl vm.swappiness

2.尽管我们修改了此值,但是在swap中已经有内容了,使用free命令查看swap已经被占用了一些了,那么现在我们想把swap中的内容挪到物理内存中。

已知的一种方法是先将swap关闭,让内核自动完成内容迁移,再把swap打开。

操作方法如下:

1) 查看swap所在的分区:swapon -s

例如是 /dev/sda2

2) 关闭swap分区:swapoff /dev/sda2

3) 重新打开swap分区:swapon -a

4) 验证内存占用情况:free -h

以上记录了linux对swap进行调整的常用操作,可能文章中提到的方法并不是最优的,但是总归算是一种有效的解决方案。更深层次的内容还需要大量参考内核文档。

转载于:https://www.cnblogs.com/vanwoos/p/7878071.html

linux的swap相关相关推荐

  1. linux 的swap具体分析_Linux SWAP 深度解读

    概述 本文讨论的 swap基于Linux4.4内核代码 .Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑. 希望本文能让读者了解Linux对swap的使用大概是什么样子. ...

  2. 【转】揭开Linux的Swap之谜

    为什么选择Linux?因为Linux能让你掌握你所做的一切!   为什么痛恨Windows?因为Windows让你不知道自己在做什么!   这就是我喜欢Linux的原因.只要我愿意,我可以将底层的系统 ...

  3. linux使用swap的命令,Linux系统如何使用swap和zram swap命令

    使用Linux的网管们肯定都知道swap和zram,事实上掌握swap和zram能提升答案及的工作效率,但有些网友并不清楚Linux swap和zram怎么使用,虽说Linux zram的使用情况比较 ...

  4. 【Linux】SWAP 深度解读(必须收藏)

    邹老师关于Linux研究的技术文章向来入木三分,如果本文您读起来感觉费解,那么可以先收藏,然后侧重了解这些内容: swap.swappiness及kswapd原理,swap分区优先级的妙用. 真可谓一 ...

  5. linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍

    背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性 ...

  6. Linux硬盘分区相关命令

    Linux硬盘分区相关命令 文章目录 一.在虚拟机构建一个硬盘 二.分区操作 1.fdisk -l :遍历已有的分区信息: 2.配置分区 3.修改分区 4.挂载(mount) 5. 卸载(umount ...

  7. Linux压缩备份相关命令

    Linux压缩备份相关命令整理记录 命令 含义 命令 含义 命令 含义 ar 建立或修改备存文件 bunzip2 bz2文件的解压缩程序 bzip2 bz2文件的压缩程序 bzip2recover 修 ...

  8. 关于linux内存管理相关的内核参数

    最近闲来无事,就打算整理一下linux内存管理相关的内核参数,以便以后查阅使用.在整理的过程中除了参考内核文档Document/sysctl/vm.txt之外,更多的是参考网上的各位大神写的资料,大部 ...

  9. linux的SWAP分区

    linux的SWAP分区 from net 汇总网络信息,并进行测试验证,感谢网络. Linux SWAP 深度解读 https://blog.csdn.net/wh8_2011/article/de ...

最新文章

  1. Oracle编程入门经典 第9章 掌握SQL*Plus
  2. C# 结构体 简明介绍
  3. SpringBoot 配置环境属性
  4. 怎样理解“道不同,不相为谋”这句话呢。。。
  5. PHP获取指定月的前N个月数据
  6. 机械制图与计算机绘图的区别,机械制图与计算机绘图教案.doc
  7. linux敏感内容检测工具,认识Linux平台四大IDS***检测工具
  8. uint在c语言中的作用,C中int,Uint,uint16等有什么区别以及用处
  9. VUE3 响应式 API 之 toRef 与 toRefs
  10. python进阶学习路线(全)
  11. 01- SA8155P QNX LA/LV 启动(01) - startup
  12. [java] 汇率换算器实现(1)
  13. EDMA3驱动的API
  14. 正面词语(摘自《重塑心灵》)
  15. 基于四分之一车体模型加速度的路面平整度检测及评价
  16. photoshop输出html网页方法
  17. 【读点论文】MicroNet: Towards Image Recognition with Extremely Low FLOPs,在极高限制下的轻量化网络
  18. Epson机器人编程的常见变量
  19. 芜湖五年制计算机公办学校,芜湖15所中职五年制学校
  20. 20190326——Python机器学习 引言

热门文章

  1. 功能测试常用6种方法_云端功能测试:更好的12种方法
  2. vector 赋值_从零开始学习R语言(一)——数据结构之“向量”(Vector)
  3. php实现语音留言,iPhone实现语音留言 新技能get
  4. java中的类方法和实例方法_下面关于Java语言中实例方法和类方法的说法,哪几项是对的?...
  5. pb实现简单计算器的思想_人教版初中数学七年级下册 用计算器求算数平方根、用有理数估计算数平方根的大小公开课优质课课件教案视频...
  6. spark 数据倾斜之两阶段聚合(局部聚合+全局聚合)
  7. java getResourceAsStream方法
  8. scala apply是什么
  9. Spark SQL运行架构
  10. 里皮正式告别国足:我尽了最大努力让球队成长