我的服务器性能经常下降(影响网络服务器性能和 ssh)。它可能整天都运行良好,然后突然页面加载速度慢了 10 倍。一段时间后,它恢复正常性能。重新启动也有帮助。请建议如何调查此问题?先决条件:
- Ubuntu 10.10 服务器,包含最新更新(包括内核)
- LAMP:Apache/2.2.16、PHP 5.3.3、MySQL 5.1.49
答案1
性能下降有多种可能性,但最可能的原因是 RAM 不足,从而导致系统交换。
您可以使用free -m
来获取内存使用情况,示例输出:
total used free shared buffers cached
Mem: 3632 2512 1120 0 233 1456
-/+ buffers/cache: 822 2810
Swap: 8192 0 8192
实际可分配的可用空间在 行中可见-/+ buffers/cache
。如果您发现服务器交换速度太快,您可能需要降低设置vm.swappiness
。您可以通过运行 找到当前的 swappiness 设置sysctl vm.swappiness
。它的范围是 0 - 100,较低的值将稍后使用交换,较高的值使内核更早使用交换。如果您决定将此值设置为10
,则应运行下一个命令在运行时更改它:
sudo sysctl -w sysctl vm.swappiness=10
为了使其持久(即重新启动后),将该行添加sysctl vm.swappiness=10
到/etc/sysctl.conf
。