我有一台 8GB RAM 的服务器。我的问题是服务器负载过高,Apache 运行速度很慢,但它只使用 800MB RAM。它是如何工作的?我可以给我服务器上的一个网页 7GB RAM 或 6GB RAM 来使用它吗?
我认为 8GB 中使用 800MB 内存且服务器负载过高是不好的。
平均负载:1.66、1.73、2.12 正常运行时间:173 天,任务 711,正在运行:2
Intel(R) Atom(TM) CPU D525 @ 1.80GHz(4 CPU)、4gb Swp、带有 i-mscp 控制面板的 Debian 服务器。
htop 说 /usr/sbin/mysqld.... 占用了 98% 的 CPU。
我有 2 个 HDD,250GB 用于 Linux,2TB 用于 /var/www/webpages....
从 8GB 开始使用了 844MB RAM,从 4GB 开始使用了 308MB Swp。
2GB/s 网络连接。
Mysql数据库大小:153Mb,
每 5 分钟大约有 5 个 cronjob。
有时我的网站会出现服务器错误,因为缺乏资源,但其他网站可以在线,没有问题。
答案1
- 占用 CPU 的是 MySQL,而不是 Apache。如果它认为使用更多 RAM 会更好,它就会这么做。显然,事实并非如此。
- 您需要检查它为什么占用这么多 CPU 时间。也许您可以优化应用程序的数据库查询,但这并不能保证,因为它们可能需要他们拥有所有这些权力都是因为他们所做的事情。
- 如果 CPU 受限,使用更多 RAM 也无济于事。你凭什么认为它会有帮助?
- 如果您确实有 4 个核心,则负载为 2.1 意味着只有一半的核心被使用,因此您的系统肯定不会超载。
- 如果您有 CPU 密集型任务,那么使用像 Atom 这样的微型玩具 CPU 是无稽之谈。
- 如果您的 Apache “很慢”,则可能是因为必须等待 MySQL。