关于VPS内存不足的一些说明和解决办法_Linux

一、关于swap的几点说明
1,swap一般称作为“交换空间”,其作用相当于Windows上的“虚拟内存”。
2,swap实际上是硬盘上的一块空间。
3,swap内保存的数据并不能直接供CPU直接使用。CPU如果想用swap内的数据,需要先把数据从硬盘转移到内存,然后再交给CPU。
4,swap内保存的是暂时不使用的或者使用频率很低的数据。
5,数据从swap到内存的速度比从内存到cpu的速度,要慢几百倍甚至上千倍。

二、关于内存不足
1,swap存在的意义在于存放不经常使用的数据,而不是物理内存放不下的数据。
2,如果经常使用的数据在物理内存中存放不下,内核会被迫将部分数据分配到swap。
3,如果第2条所写的发生了,接下来会产生大量的硬盘读写IO,原因参见〖关于swap的几点说明〗中的第2条。
4,接上条,大量的硬盘读写IO会产生的后果为:
(1)CPU在处理运算时会有大量的时间在等待硬盘IO,严重影响服务器的响应速度。
(2)同服务器上的其他VPS都会受到影响(除非使用的不是同一硬盘)。
5,*请注意区分“使用swap”和“进行swap”:
(1)使用swap,是指数据存放在swap中,是固定的状态,不会占用硬盘IO。
如下图,系统虽然占用了13M的swap,但是没有进行swap交换。

(2)进行swap,是指把数据从swap转移到物理内存,或者从物理内存转移到swap的操作,是执行的过程。
如下图,系统几乎每秒都在进行大量内存交换操作。

三、对于内存不足的建议
(1)如果内存不足,应该及时升级VPS内存。否则不光会影响到自己的VPS系统,而且会影响到其他的VPS。
(2)不要尝试通过增加swap来解决内存不足的问题,问题根源是由于物理内存不足,再多的swap也是于事无补的。

时间: 2024-09-09 11:40:06

关于VPS内存不足的一些说明和解决办法_Linux的相关文章

php“内存位置访问无效”错误的解决办法

配置环境如下: Win2003SP2+IIS6+php5.26+mysql5.0.51a+zend3.3a+PhpMyAdmin2.11.7.1 PHP执行方式:isapi.Mysql为手动安装. 关于"内存位置访问无效"的错误解决办法与步骤:(一些部份无效的调试步骤略过..) 一.将IIS的错误显示打开,未发现错误原因! 二.检查IIS扩展,ISAPI.php.ini与Mysql配置以及相应的安装目录ACLs权限,均无误. 三.回收IIS进程,错误仍然出现"内存位置访问无效

导致MyEclipse内存不足的原因分析及解决办法_java

1.修改eclipse.ini 在Myeclipse安装目录下G:\MyEclipse8.5\Genuitec\MyEclipse 8.5有一个myeclipse.ini配置文件,设置如下: -vmargs -Xmx512m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m 2.设置Default VM Arguments 在myEclipse中,打开Windows-> Preferences->Java->Installed JREs

当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法_MsSql

最近同事反映,在使用pt-heartbeat监控主从复制延迟的过程中,如果master down掉了,则pt-heartbeat则会连接失败,但会不断重试. 重试本无可厚非,毕竟从使用者的角度来说,希望pt-heartbeat能不断重试,直到重新连接上数据库.但是,他们发现,不断的重试会带来内存的缓慢增长. 重现 环境: pt-heartbeat v2.2.19,MySQL社区版 v5.6.31,Perl v5.10.1,RHEL 6.7,内存500M 为了避免数据库启停对pt-heartbea

AMH面板重启VPS无法登陆SSH及SFTP客户端解决办法

AMH面板,作为国人开发的Linux VPS主机面板之一,目前的用户量还是比较大的,即便从去年新版本开始收费以来有很多的争议,但是现在基本上趋于习惯.因为免费版本的4.2版本基本上也能够满足一般的建站用户需要,如果有钱或者需要其他功能应用的可以购买付费版本. 之前老左也有遇到过在使用AMH面板的VPS中,如果有重启VPS或者有升级其他应用,可能会遇到再登录SSH或者SFTP的时候无法连接,开始认为是偶然的巧合,上周在Captain告知后原来AMH面板的端口设置需要加载到配置文件中,如果我们的VP

小米MIUI系统内存占用率越来越高的解决办法

利用root explorer或者re文件管理器,获得root之后,进入手机内存,将/data/tombstones目录下的所有文件全部删掉,重启机器. 从过完年开始,我的手机就闲着没事,百分之六七十的内存利用率.后台也没开什么程序啊,为毛这么对我,现在重回百分之四十了...好爽啊..

Linux VPS上DenyHosts阻止SSH暴力攻击解决办法

,它会分析/var/log/secure(redhat,Fedora Core)等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的. DenyHosts官方网站为:http://denyhosts.sourceforge.net/ 1.下载DenyHosts 并解压 # wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz # tar z

IE8 内存泄露(内存一直增长 )的原因及解决办法_javascript技巧

最近开发的时候对页面使用了定时的局部更新,结果在ie6,7和Firefox下,一切正常,而在ie8下过上几个小时就浏览器就崩溃了,显示是内存溢出,我以为是代码写的不好导致内存泄露,但是ie6,7又正常,调查了一下,原来这是ie8的bug. 问题点 在IE8中,生成特定Dom节点所占用的内存是不会被释放的,即使这些节点被删除内存也不会被释放. 内存泄露的节点类型包括:form.button.input.select.textarea.a.img和objec 其他的大部分节点类型是不会泄露的,例如:

win8系统提示内存不足软件自动退出故障解决办法

如下所示在使用程序时突然弹出以下错误然后程序并自动退出. 方法一: 1.我们在windows中打开"搜索"然后我们在搜索框输入"服务"然后点击旁边的搜索. 2.找到服务双击进入然后找到"Diagnostic Policy Service""Diagnostic Service Host""Diagnostic System Host"三个服务项,右键"属性",将启动类型设置为"

5个Android开发中比较常见的内存泄漏问题及解决办法

android中一个对象已经不需要了,但是其他对象还持有他的引用,导致他不能回收,导致这个对象暂存在内存中,这样内存泄漏就出现了. 内存泄漏出现多了,会是应用占用过多的没存,当占用的内存超过了系统分配的内存容量,就会出现内存溢出了导致应用Crash. 了解了内存泄漏的原因及影响后,我们需要做的就是掌握常见的内存泄漏,并在以后的Android程序开发中,尽量避免它.下面搜罗了5个Android开发中比较常见的内存泄漏问题及解决办法,分享给大家,一起来看看吧. 一.单例造成的内存泄漏 android