我在 256MB RAM VPS 上的 Ubuntu 10 上运行了 lighttpd。我的目标是完全避免交换。我正在运行一个 Drupal 网站,其中包含一些图片、购物车(没有视频……估计流量很低)。
所以……系统仍在交换内存。我想知道我是否应该像配置 Apache (prefork) 那样为 Lighttpd 配置 MPM 模块。Lighttpd 是否也需要进行一些配置?如果没有,有什么提示吗?
另外,使用 drupal(通过 php)上传文件需要很长时间...仅 300kbs 就需要大约 20 秒...但是,当我运行 info.php 时,它会立即显示..似乎只有 Drupal 很慢。
这些是我的 php 设置:内存限制 128MB 帖子最大大小 64MB
(我不想将内存限制设置为仅 64MB,因为某些 Drupal 模块需要 128M。您认为这是问题所在吗?)
谢谢
答案1
Linux 默认会非常轻松地进行交换,以便充分利用可用内存。您可以通过修改“vm.swappiness”内核参数来控制交换的容易程度。默认情况下,该参数设置为 60,但如果您将其调低为 0,系统将仅在绝对必要时才进行交换。
sysctl -w vm.swappiness=0
但是请记住,Linux 通常已经能够很好地处理交换,而您的速度缓慢可能是由其他问题引起的,其中包括与您共享物理硬件的其他用户。
答案2
只有当内存已满并且大量写入磁盘时,交换才会减慢速度。如果您仍有可用内存,则通常无需担心交换。