我有一个运行在hypervm上的VPS
在程序清单中,我有这样的事情
> /usr/libexec/mysqld --basedir=/usr > --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/ user : mysql
这需要150 MB的RAM
接着
/usr/sbin/named -u named -t /var/named/chroot user : Named
这个过程需要50 MB的RAM
我如何解决这个过度的RAM和减less它。
我有权访问root和SSH
你使用MySQL和/或绑定在这个VPS? 如果没有,请删除或禁用它们。 否则,您需要深入了解这两个服务的configuration文件。
如果一切都失败了,请添加更多内存!
HyperVM不是一个虚拟化平台,它是OpenVZ或Xen的控制面板。 你的VPS运行哪些对于解决这个问题可能是重要的,所以你应该找出你正在使用的是哪一个。
如果你使用的是OpenVZ,那么一些内存“使用量”可能来自测量堆栈分配而不是实际使用的内存。 您应该运行'ps aux',并注意RSS和VSZ字段。 如果named或mysql在RSS中低而在VSZ中高,那么应该尝试在服务的启动脚本中使用类似'ulimit -s 256'的堆栈大小。 请参阅lowendbox的文章 。
如果您的应用程序可以正常使用,则可以通过删除非MyISAM表支持来减lessMySQL的内存使用量。 lowendbox有很多关于这方面的文章,包括运行18个静态站点和 64MB VPS上的wordpress 。