#教程# Linux云主机 VPS 到达指定内存占用率就重启脚本

前言

在 Linux 中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是 Linux 内存管理的一个优秀特性,在这方面,区别于 Windows 的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高 Linux 系统的数据访问性能。而 Windows 是只在需要内存时,才为应用程序分配内存,并不能充分利用大容量的内存空间。换句话说,每增加一些物理内存,Linux 都将能充分利用起来,发挥了硬件投资带来的好处,而 Windows 只将其做为摆设。

图片[1] - #教程# Linux云主机 VPS 到达指定内存占用率就重启脚本 - 云线路

综上所述,一般不需要太关注 Linux 的内存占用情况,如果 SWAP 占用率很高的话一般可能就是内存不够用了。swap 存在的意义在于存放不经常使用的数据,而不是物理内存放不下的数据,如果经常使用的数据在物理内存中存放不下,内核会被迫将部分数据分配到 swap,接下来会产生大量的硬盘读写 IO,大量的硬盘读写 IO 会产生的后果为:

CPU 在处理运算时会有大量的时间在等待硬盘 IO,严重影响服务器的响应速度;

同服务器上的其他VPS都会受到影响(可能导致服务商停止服务);

临时解决办法

将下面内容保存到 /root/mem.sh ,这个脚本的意思是使用内存超过 512M 就重启,512 可以改为合适的数字

#!/bin/sh
used=`free -m|grep mem:|awk '{print $3}'`
if [ $used -gt 512]
then
    reboot
else
    echo "ok"
fi

给予权限 755 以上,或者执行下面命令:

chmod +x /root/mem.sh

再添加一行定时任务/var/spool/cron/root:

*/5 * * * *  /root/mem.sh  > /home/wwwlogs/mem.log

结语

如果内存不够还是建议增加内存,临时解决办法不是长久之计。

© 本站文章随意转载,但请注明出处!
THE END
点赞6 分享
评论 抢沙发
头像
务必使用真实的邮箱地址评论,虚假邮箱的评论将不通过审核及无回复。
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容