linux – 内存管理“很好”
在问题之前,我给你一些背景知识:我在VPS上运行一个网站. VPS itselmf运行apache web服务器,PHP代码生成带有acite到SQLite DB的页面,并运行由cron作业触发的一些后台任务.
这些后台任务主要更新数据库值,并添加要显示给网站用户的新记录. 性能方面,网站的响应性是一个优先事项,但后台任务不是时间敏感的,如果它们必须被取消,放慢速度,那么根本没有问题…….考虑到我没有那么多的访问量(每天大约4000页的浏览量,其中大多数都是缓存的),我可以负担得起低优先级的那些,他们仍然可以完成工作. CPU智能,我运行apache的“niceness”为0(默认值),后台任务的“niceness”从10到18.一切都很好. 内存是一个问题,因为其中一些任务具有高内存占用.其中一些实际上崩溃了,因为当他们需要时没有足够的内存. >触发高内存消耗任务1 VPS在1千兆位RAM系统上运行,目前没有定义SWAP. 我想避免的是交换apache内存,因为它会降低网站对最终用户的响应能力.就像我用“很好”表示apache比backgroudn任务更重要.如果您看到我的问题的另一个解决方案,欢迎您提出任何建议.我也在改进后台任务以减少内存占用,但这需要一些时间. 解决方法
您可以使用cgroup来执行此操作.它允许您设置内存和内存交换的限制,因此您可以强制进程交换.
或者它也可以让你独立调整每个cgroup的swappiness,这样你就可以增加你的背景页面被换掉的几率: http://www.kernel.org/doc/Documentation/cgroups/memory.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |