我不明白。我有一个 VPS,装有 Nginx、php-fpm 和 MySQL。应该很轻量。没有 Apache,对吧?当我重新启动时,它非常轻量。~ 50/481 MB 内存使用量。在我看来非常可以接受。
几天后,有大约 20 个 mysqld 进程在运行,大约 7 个 php-fpm 进程和大约 8 个 getty 进程在运行,并且 1024 MB 交换空间的 3/4 已满,服务器内存不足!
我不是专业人士,但我很确定那是不对的......
我认为 cron 与此有关。我安排了 3 项工作:
- 每分钟一次的简单操作(读取 smtp 以获取新邮件)
- 每晚一个大博客(阅读来自约 30 个博客的 RSS)
- 每天早上进行一个简单的操作(mysqldump 两个小型数据库)
我不知道为什么我会这么想 =) 可能是因为简单的工作(SMTP,每分钟)始终在 htop 列表中。 (但始终具有 0% cpu、0% mem 和 0:00:00 时间......)
20 个 mysqld 也很奇怪,但它们似乎不需要太多内存。
php-fpm 显然消耗了大量内存。在写这篇文章的 10 分钟内,内存从 66 MB 增加到了 120 MB!内存消耗最多的 6 个进程是php-fpm: pool www
。当我重新启动时,/etc/init.d/php5-fpm
内存会下降到 ~ 70 MB。php-fpm 怎么会需要 400+ MB 的内存?这是怎么回事?
在过去 10 分钟内,交换量一直稳定在约 98 MB。
有人知道可能发生了什么吗?(我知道关于整个服务器的信息很少。)如果您愿意,我可以添加详细信息。
我甚至没有运营任何像样的网站!
更多信息:
屏幕内容htop --sort-key PERCENT_MEM
:
Pastebin 与ps xv
、cat /proc/meminfo
和top
:http://pastebin.com/PfXeupMN
答案1
问题出在服务器配置上(输入输出速度非常非常慢)。vps 提供商进行了硬件更新(我认为),问题已经解决。内存使用率可能仍然很高(我不知道),但总体而言,服务器速度再次变得非常快。
抱歉我之前没有提到这一点。