Answers:
虚拟内存大小不如您的驻留集重要。虚拟内存将包含映射到的内容,例如共享库和诸如此类的东西(它们只会驻留在物理RAM中一次)。RSS告诉您内存中实际存在的内容,即Virt。告诉您吞没了多少可用虚拟地址空间。
您的第二个计算将非常接近,尽管它很低。一台具有4GB RAM的服务器可以运行超过256个Apache进程。根据您的流量模式和IO等待限制,运行超过256个可能是一个好主意,因为这些进程中有很多可能只是在等待内核将数据从一个设备发送到另一个设备。还应考虑到COW之类的因素以及所有内容都指向相同的“ httpd”二进制文件这一事实,您可以获得更高的效率。
现在,使用2GB的交换空间重建您的系统。交换不再仅仅是“慢速记忆”。
作为免责声明,自从我关心Linux内存管理的细节以来已经有很长时间了,也许我的观点有点不对,但是要旨是坚定的!
free
报告整个内存已满,会发生什么情况?0或几个100mb的可用内存?jvm“容器”的已用/可用内存的良好比率是多少?
该值主要取决于您当前服务器负载的试验情况。
尝试使用“ apache top”收集一些数据。进行一些配置更改,然后重试。因为我不知道您的特定用例,所以很难提出一些具体数字。
如果您想要Web服务器的可预测内存消耗,请访问 http://wiki.nginx.org/Main
它以一种非常酷的方式解决了一些可伸缩性问题。
并非每个用例都合适,但一定要考虑一下。
您可以部署它以减少apache实例的负载。它适用于在反向代理配置以及其他高负载情况下提供静态和缓存内容。
旋转一下,它是免费的:-)