为什么很多Linux软件的安装教程都要求关闭swap?
一、为什么很多Linux软件的安装教程都要求关闭swap

swap是内存不够用的时候,临时用一点儿磁盘空间代替内存。
出现的问题,就是程序在用内存的时候,可能会用到swap,相应的IO能力下降。
关掉就不会出现这个问题,但是关掉以后,内存超出设定值,程序就可能会直接崩掉。崩掉的结果,好一点儿的会重启,差一点儿的会崩溃,看具体是什么程序。
如果只是web这样的程序,大多都是k8s或者是docker这样的集群、容器,崩几个节点无所谓。
如果是mysql这样的数据库,一般也不用容器,因为根本就不考虑mysql挂掉自动重启的使用状况。
mysql一般都设置有内存使用上限,设置使用内存的75%或者80%,不能让它满了,用到swap反而会下降mysql性能。
也还要看机器配置,Linux的内存机制是尽量多的使用内存。swap在一般运行时占用情况不多。但是有些内存很小的arm板子没有swap很多软件在编译时会因为内存不足导致编译报错而中断。如果内存非常大的话可以关闭swap,配置一般还是推荐保留一点或者代替运存。
延伸阅读:
二、swap的主要功能
(1)、当物理内存不足的时候,将某些在内存中所占用的程序暂时移动到swap当中,让物理内存可以被需要的程序来使用;
(2)、Linux会将内存中不常访问的数据保存到swap中,当系统需要再次调用的时候,就把它从swap加载到内存;
(3)、如果你的主机支持电源管理模式,也就是说,你的Linux主机系统可以进入”休眠”模式的话,那么,运行当中的程序状态则会被记录到swap中去,以作为”唤醒”主机状态的依据;
(4)、在某些程序运行时,本来就会利用swap特性来存放一些数据,比如在装Oracle11g的时候会检查swap size。
相关推荐HOT
更多>>
mvc和三层架构的区别?
一、mvc和三层架构的区别MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI1.层,也就是说,MVC把三层架构中的UI层再度...详情>>
2023-10-11 11:44:15
空指针引用判断和空表单有哪些区别?
一、空指针引用判断和空表单的区别1、概念不同空指针引用” 是编程语言中的概念,是指指向对象的指针为空,而 空表单” 是 Web 开发...详情>>
2023-10-11 11:23:22
光纤和宽带有哪些区别?
一、光纤和宽带的区别1、适用人群不同宽带是网络运营商所定义的上网服务的称呼,是一种通信技术。在接入网络时,宽带也可以指代普通宽带,也是...详情>>
2023-10-11 10:46:16
在线需求管理工具有哪些?
一、在线需求管理工具1. BoardMix博思在线白板BoardMix博思在线白板是一款轻量级的可视化在线协作白板工具,它基于 Web 网页端运行,支持创建任...详情>>
2023-10-11 10:23:37
京公网安备 11010802030320号