linux – 在Parallels VM中混淆内存使用

我有一个1GB内存的Parallels VPS.好吧,hoster说它有1GB但是我不能把它检查为“free”而其他类似的命令返回13Gb,我猜这是物理内存的大小.

当我执行top命令时,我看到以下输出

如您所见,mysql一个使用大量RAM(143M)的进程.并且使用的RAM的总大小约为160M.问题是我不能使用更多的内存:如果我扩展一些memore设置(例如,对于MysqL)我得到“内存不足”,“无法分配内存”等.

我有两个猜测:

>我的VPS没有1GB的RAM
>如果你看一下虚拟内存的使用情况,它会更接近1GB.但同时交换大小为零.所有我的虚拟存储在RAM中吗?我期望交换是虚拟内存和RAM使用之间的差异.

任何其他的想法如何我可以为MysqL使用更多的内存(我想使用大约80%的1Gb)?

解决方法

你有一个Virtuozzo(或OpenVZ)VPS – 内存分配的正常规则不适用.假设您的托管服务提供商不是骗你,那么“拥有”1GB内存,只要OpenVZ“hypervisor”允许您分配1GB内存,或者(更可能是基于您对事件的描述)1GB虚拟内存记忆.

仅仅因为你没有在顶部看到任何交换,这并不意味着你的所有数据都在物理内存中 – OpenVZ的规则是不同的(非常非常不同).

如果要为MySQL使用更多内存,则必须减少VM中其他内容使用的内存量.你的最高输出没有列出任何明显的竞争者,但如果你按照内存使用情况对它进行排序,你会更好地了解什么是多余的(并且会给你最好的收益).

顺便说一句,我建议远离你当前的托管服务提供商 – 虽然OpenVZ有它的位置,那个地方不在VPS托管市场.你可能选择它们是因为它们是廉价的提供商,但是你知道为什么它们很便宜–OpenVZ是一个非常有限的平台,它本身就有一些特殊的怪癖.对于“真正的”VPS提供商(使用Xen,KVM,VMWare等的人),你会好得多.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...