小背景图:边肖的服务器内存只能1g,极小。以前用apache的时候,不堪其过多的运行内存消耗,平台网站卡在心里,数据库查询不断崩溃。我没办法,只好把钱投入nginx的怀抱,已经爱上了nginx。其实请看中文CentOS7部署轻量级web服务器nginx+php。
众所周知,过了好几个月,数据库查询还是会再次崩溃。搜了一下mysql系统日志,还是受不了运行内存的问题。折腾了几次,发现mysql本身也不是省油的灯,还一度占用了500M的运行内存——我捂住嘴唇,禁止自己忍住不哭。我还顺便去了一段Bbox。
这几天还有谁在烦RedHat安装Oracle数据信息?这个数据库查询有一个规则,就是必须有一定的室内空交换分区。虽然我很早就知道交换分区,而且边肖也经常在windows下玩虚拟内存(交换和虚拟内存是类似的定义),但是很遗憾我从来没有想到过这个方法。因此,我进入了今天的主题风格:
在添加交换分区之前,人们可以掌握当前系统软件交换是否存在及其应用状态,并且可以使用:
free-h或swapon-s掌握SSD的应用状态(一般/dev/vda1就是挂载SSD):
df-hal1。添加交换分区
使用dd命令创建名为交换文件的交换文件(文件夹名称和文件目录是可选的):
或者
ddif=/dev/zeroof=/var/swapfilebs=1024count=2048k频谱:if(输入文件),of(输出文件)。Dev/zero是Linux的一个特殊的符号机设备(输出设备),可以用来创建一个特定长度的空文件用于重置,比如临时交换文件。这个机器装置可以无休止地显示零,可以显示你需要的所有量。Bs=1024:另外,企业数据信息块读入/读出的字节数为1024字节,即1KB,Bs(即块大小)。Count=2048000:数据信息块总数为2048000,即20480001KB。可以估算出交换分区的体积为1kb*2097152=1kb*1024(k)*1024*2=2097152=2g。(dd命令中企业m表示1024*1024,k表示1024)。
回车键后会进行2g读写 *** 作,系统软件会卡一段时间,小心等待执行结果。
最后,备份交换文件并将其转换为交换分区:
mkswap/var/swapfile挂载并激活分区:
swapon/var/swapfile当你执行左右命令时,会出现“不安全管理权限0644,建议申请0600”类似于一个提醒,不用着急。其实你已经心动了,可以无视提醒,按照系统软件的建议更改管理权限:
chmod-R0600/var/swapfile此时,您可以使用free-h或swapon-s命令来查询新的交换分区是否正常。
更改fstab配置,并将启动设置为自动挂载分区:
vim/etc/fstab在fstab文档末尾添加以下内容后:wq!保存它:
/var/swap文件交换交换默认值00
或者立即回显fstab:
2。删除交换分区
首先终止已经应用了交换分区:
swapoff/var/swapfile删除交换分区文档
rm-rf/var/swapfile或者,删除并注释之前人们在fstab文档中添加的启动全自动挂载的内容:
/var/swapfileswapfswapfaults00
3。更改交换分配(到层次结构中)
交换度值(0-100)。对系统交换分区的依赖程度越高,越倾向于应用交换分区。
自然,长宽比取决于swap,这会导致在物理内存还没有应用之前就应用了swap分区。人们知道交换分区的特性不如物理内存,这反过来降低了系统软件的特性,违背了人们建立交换分区的初衷。
人们期望在物理内存即将满的时候应用swap,所以决定了swap值一般在10-60,SSD可以更高。
查询今天的swappiness标准值:
更改交换度值。这里以50为例。
sysctlvm.swappiness=50如果vm.swappiness=50有望永久生效,则需要更改sysctl配置文件,立即echo增加设备内容,重启系统软件后即可生效:
echo"vm.swappiness=50">>/etc/sysctl.conf欢迎分享,转载请注明来源:内存溢出
评论列表(0条)