首页 > 技术 > 正文

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

在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。

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

综上所述,一般不需要太关注 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

网友评论

验证码 换一张
取 消
暂无评论...
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索