我们的一些服务器上一直有一些Linux内存使用问题。 免费,顶级,ps和vmstat在1G(〜25%)中都显示261M免费。 但是,在顶部的每个进程中显示的内存总量显示我们应该使用很less的内存。 caching中只有大约48M和0K,所以总内存可用309M,仍然比我们应该less得多。 我在http://www.workxpress.com/sites/default/files/top.png (按内存sorting)中包含了我们顶级输出的屏幕截图。 这是我在serverfault上的第一篇文章,所以我不能在我的文章中包含图像:-P
在尝试了几次Googlesearch之后,我就没有比我更进一步了。 大部分的结果告诉我同样的事情,内存正在用于caching和缓冲区(我已经知道)。 但顶部和免费显然不表明。 任何帮助是极大的赞赏。
谢谢,
JamesArmes
更新:
我包含了这个问题最近发生的/ proc / meminfo:
MemTotal: 1028636 kB MemFree: 30056 kB Buffers: 0 kB Cached: 28732 kB SwapCached: 154684 kB Active: 265328 kB Inactive: 19416 kB SwapTotal: 2097144 kB SwapFree: 1758196 kB Dirty: 36 kB Writeback: 0 kB AnonPages: 240260 kB Mapped: 11996 kB Slab: 23008 kB SReclaimable: 11976 kB SUnreclaim: 11032 kB PageTables: 5636 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 2611460 kB Committed_AS: 1099080 kB VmallocTotal: 34359738367 kB VmallocUsed: 7204 kB VmallocChunk: 34359731091 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
以下是我们的/etc/sysctl.conf(删除了所有注释行):
kernel.printk = 4 4 1 7 kernel.maps_protect = 1 fs.inotify.max_user_watches = 524288 vm.mmap_min_addr = 65536 net.ipv4.conf.default.rp_filter=1 net.ipv4.conf.all.rp_filter=1
我希望这有帮助。
由于我看到vmware-guestd正在运行,我将假设这是一个虚拟机。 假设ESX,进入VIC并右键单击机器。 单击Edit Settings...并selectResources选项卡。 单击Memory并确保Unlimited是在Limit下进行检查。
可能发生的情况是您对内存有限制,当机器使用大量内存(接近或超过限制)时,vmware访客工具会将内存保留为“已使用”,而不是将其释放回ESX,以防万一它需要再次。
更新:
只有当CPU和内存预留可用时,服务器才允许您启动虚拟机。当不使用资源时,ESX Server主机将使其可用于其他虚拟机。“
http://www.vmware.com/pdf/vi3_esx_resource_mgmt.pdf
它通过作为访客工具一部分的“气球”驱动程序(vmmemctl)来完成。 假设你的机器正在使用100MB的内存,那么你运行一些程序,它跳到500MB使用。 现在你停止了这个程序,并期望内存回到100MB。 但是,它不。 这是因为,为了使ESXi从客户机操作系统(即使存在预留)恢复内存,它必须使用气球驱动程序。 为了使操作系统像“内存less”一样“动作”,气球驱动程序“使用”了ESXi所需的内存,以便操作系统无法使用它。
IOW,即使有保留,客户只使用尽可能多的主机RAM。 当它使用更多时,ESX分配更多的主机RAM,客户现在认为它始终可用。 为了“说服”客人,新的公羊再次走了,气球驱动程序使用它。 预订只是意味着“除非物理机有1GB的空闲空间加载客户机,否则不要启动虚拟机”,而不是“给客户机1GB是否使用”。
尝试:
cat /proc/meminfo
它给出了内存使用的更多细节。
尝试使用脚本ps_mem.py来debugging内存使用情况
您可能有内核内存预留。 具体来说,检查/ proc / meminfo中的巨大页面参数。
如果这个build议没有帮助,请发布你的/etc/sysctl.conf。