你還應該檢查你的其他進程。根據我的經驗,MySQL在任何我運行的堆棧上佔用的內存都比其他任何內存都多。您還應該實現更好的頁面緩存,以便在不是絕對必要時不需要觸摸PHP。但是Apache也是一個需要微調的內存。如果你想堅持使用Apache,那麼在它前面運行Varnish。
另外,保持APC,但也添加Memcached。它快得多。
如果你的站點有一個尖峯負載將其帶到零內存,那麼,如果可以的話,考慮啓動額外的服務器實例並做一些循環(如果VPS是由雲託管的,是可能的)。如果負載不變,那麼肯定會升級。
@burzum是完全正確的,但是,你應該切換到nginx。這遠遠好於Apache。但是,爲了讓你走上正軌,不少人在nginx之前運行nginx作爲反向代理,雖然這樣做加快了服務器速度,但這完全沒有必要,因爲nginx幾乎可以做任何你需要的東西沒有Apache。不要在nginx前面使用Varnish,因爲nginx可以作爲自己的反向代理。
最好的辦法是用apcu實現nginx(如果可能的話,將php升級到5.5),並使用memcached,並實現nginx的本地微緩存技能。如果您的網站在閱讀和編寫文檔上花費太多時間,那麼您可能會注意到,只需從memcache中檢索緩存副本,nginx就會處理所有內容。雖然這有助於記憶,但它也有助於處理。峯值期間,我的服務器的CPU通常有3-5%的使用量。