我有一个1024MB的交换512MB的Xen VPS。
当我SSH进入,并input“免费-m”,它表明我有大约50MB的可用内存。
我最近从1024MB的计划降级,因为我不需要内存。
既然这样做了,我的VPS似乎有点呆滞,尽pipe它没有使用所有的内存。
它仍然访问交换什么的? “免费-m”在交换的“used”下面显示0。
大多数情况下,Xen客户端的内存pipe理与裸机上的内存pipe理没有什么不同。 当各种工具( free -m , cat /proc/meminfo等)告诉你,你正在使用交换。 在你的情况下,你的系统不使用交换。
这听起来像你可能需要阅读Linux吃了我的RAM! 刷新Linux内核如何使用系统内存的基础知识。
你真的不想在你的系统上使用未被使用的内存 – 这是浪费金钱。 内核将使用未分配的页面作为磁盘读取caching,大大提高了系统的IO性能。
关于系统“缓慢”的感觉,这可能是由许多事情引起的,所有这些都会要求您随时间收集数据(IOps,IO延迟,IOwait,平均负载,CPU负载等) 。 为了缓解这个过程,我强烈build议你安装一个像Munin这样的监控软件包。 穆宁擅长这样的事情,而且很容易build立。
我想你误解了记忆统计告诉你的是什么。 您的系统免费保留50MB,因为它需要 50MB空闲。 需要空闲内存来处理networkingstream量和磁盘中断等事情。 对于更典型的情况,系统只是将内存直接从一个用户移动到另一个用户。 保持更多的内存不必要是浪费,因为空闲的内存永远浪费。
如果你决定可以用更less的内存来做,因为50MB左右是免费的,那么你的推理是错误的。 所有的空闲内存都告诉你,系统需要多less内存来保持空闲。 在典型情况下,与负载和系统内存需求完全无关。
现在你的内存less了,你仍然需要大约相同的数量。 据推测,你的应用程序仍然要求相同数量的内存。 因此,您已经移除的每个内存MB都只有一个MB用作页caching。 这很可能是造成性能下降的原因。
什么top告诉你?
从我的一个主人。
Mem: 2074768k total, 2014116k used, 60652k free, 14276k buffers Swap: 2097144k total, 104k used, 2097040k free, 1853092k cached
Xen是由几个不同的供应商提供的,但是如果你不能让pipe理程序告诉你客户使用了多less内存,就试着在pipe理界面上看看。