他的论点是,在正常情况下,服务器永远不会使用它的所有RAM,因此它遇到OutOfMemory情况的唯一方法是由于一些BUG / ddos / etc.因此,如果交换关闭,系统将耗尽内存,最终会导致程序占用内存(很可能是Web服务器进程)以及其他一些进程.如果打开交换,它将同时占用RAM和交换,最终将导致相同的崩溃,但在此之前,它将卸载像sshd这样的关键进程交换并开始执行大量交换 *** 作,从而导致主要的减速.这种方式在ddos系统下可能因为巨大的滞后而进入完全无法使用的状态,我可能无法登录并杀死webserver进程或拒绝所有传入的流量(除了ssh之外).
这是正确的吗?我错过了什么(就像交换分区在某种程度上非常有用的事实,即使我有足够的RAM)?我应该把它关掉吗?
解决方法 我会说这取决于你的用例,其余的答案已经很好地涵盖了. 4G交换毕竟是购买一些安全的廉价方式.我觉得这种廉价是让人们不想把它关掉的原因.但让我回答一个修辞问题.如果钱不是问题,你可以选择两个系统 – 一个有12G的RAM和4G的交换,另一个有16G的RAM而没有交换 – 你会选择哪一个?不幸的是,大多数人仍然会回答说他们选择了16G的内存并仍然添加4G的掉线,这是我的观点.
而另一方面,我个人发现一个比崩溃系统更糟糕的系统.崩溃的系统会触发备用备份服务器更快地接管.在主动 – 主动(或负载平衡设置)中,崩溃的系统将更快地停止旋转.再次赢得无交换系统.
总结以上是内存溢出为你收集整理的我应该完全关闭linux webserver的swap吗?全部内容,希望文章能够帮你解决我应该完全关闭linux webserver的swap吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)