我发起了一些耗费大量内存的东西,现在一切都落后了。 我想所有的应用程序的内存已经交换,以释放内存密集型进程的一些空间,现在一切都慢慢返回到内存访问时。 有没有办法显式地将所有可能的东西从交换回RAM? 或者,也许不是一切,只是一些特定的stream程数据?
我正在使用一个有128GB的内存和24核心的Linux服务器。 我使用top来查看它使用了多less。 它的输出粘贴在post的末尾。 这里有两个问题: (1)我看到每个正在运行的进程占用了非常小的内存百分比(%MEM不超过0.2%,最多只有0.0%),但是总内存如何在第四行输出“Mem:130766620k total,130161072k used,605548k free,919300k buffers”)? 所有进程的内存使用百分比总和几乎不可能达到100%,不是吗? (2)如何理解一线的平均负荷(“平均负荷:14.04,14.02,14.00”)? 感谢致敬! 编辑: 谢谢! 我也非常喜欢听听内存使用百分比的一些粗略的数字,以确定服务器是否负载过重,因为我曾经成为在不了解当前负载的情况下热衷于服务器的人。 swap与内存几乎一样吗? 例如,当内存和交换几乎相同的大小,如果内存几乎用完,但交换仍然很大程度上是免费的,我可以看到,如果内存+交换使用的百分比仍然不高,并运行其他新的stream程? 你如何一起考虑CPU或内存(或内存+交换)的使用? 如果他们中的任何一个达到太高,或者两者都有,你会担心吗? 顶部输出: $顶部 顶部 – 12:45:33最多19天,23:11,18用户,平均负载:14.04,14.02,14.00 任务:总计484次,12次跑步,472次睡眠,0次停止,0次僵尸 Cpu(s):36.7%us,19.7%sy,0.0%ni,43.6%id,0.0%wa,0.0%hi,0.0%si,0.0%st Mem:130766620k共计,130161072k使用,605548k免费,919300k缓冲区 交换次数:63111312k total,500556k used,62610756k free,124437752k cache PID用户PR NI VIRT RES SHR S%CPU%MEM时间+命令 6529桑切斯18 -2 1075米219米13米S 100 0.2 13760:23 MATLAB 13210 timothy 18 -2 48336 37m 1216 R 100 0.0 […]
VMware内存pipe理似乎是一个棘手的平衡行为。 有了集群RAM,资源池,VMware的pipe理技术(TPS,膨胀,主机交换),客户机内RAM利用率,交换,预留,份额和限制,还有很多变数。 我处于客户端使用专用vSphere群集资源的情况。 但是,他们正在configuration虚拟机,就好像它们在物理硬件上一样。 反过来,这意味着一个标准的VM版本可能有4个vCPU和16GB或更多的RAM。 我来自小的学校(1个vCPU,最小的RAM),检查现实世界的使用和必要的调整。 不幸的是,许多供应商的要求和不熟悉虚拟化的人需要更多的资源,而不是必要的…我有兴趣量化这个决定的影响。 来自“问题”群集的一些示例。 资源池摘要 – 看起来几乎是4:1过度提交。 注意大量的膨胀的RAM。 资源分配 – “最差情况分配”列显示,这些虚拟机在受限条件下可以访问configuration的RAM的50%以下。 上面列表中顶级虚拟机的实时内存利用率图。 4个vCPU和64GB RAM分配。 平均使用9GB以下。 同一个VM的摘要 在vSphere环境中过度使用和过度configuration资源(特别是RAM)有什么缺点? 假设虚拟机可以运行在更less的内存中,那么说虚拟机的configuration比实际需要更多的内存,这是否公平呢? 有什么反驳: “如果一个虚拟机有16GB的RAM分配,但只使用4GB,有什么问题? ”? 例如,客户需要教育虚拟机与物理硬件不一样吗? 应该使用什么特定的度量来度量RAM的使用情况。 跟踪“主动”与时间的峰值? 看着“消费”? 更新:我使用vCenter Operations Manager来分析此环境,并获取上面列出的群集统计信息的一些详细信息。 虽然事情肯定是过度的,虚拟机实际上是过度configuration与不必要的内存,真正(微小)的内存足迹显示在集群/主机级别没有内存争夺… 我的结论是,虚拟机应该是正确的大小,有一点点的操作系统级caching的缓冲区。 超出无知或供应商的“要求”导致这里提出的情况。 在任何情况下,内存膨胀似乎都很糟糕,因为性能会受到影响,所以正确的大小可以帮助防止这种情况发生。 更新2:这些虚拟机中的一些开始崩溃: kernel:BUG: soft lockup – CPU#1 stuck for 71s! VMware将此描述为大量内存过度使用的症状 。 所以我想这个问题的答案。 vCops“超大型虚拟机”报告… vCops“可回收废物”图…
常见的服务器故障情况之一是坏的DRAM,有时甚至在使用ECC内存时也是如此。 memtest86+是诊断DRAM问题最有用的工具之一。 由于它在内存开始时自动加载,我一直在怀疑memtest86+是否检查memtest86+加载的内存部分。 内存分配到memtest86+这么小,没关系, memtest86+可能会错过DRAM的缺陷,因为它不能testing它驻留的内存位置?
这是我经常看到的一个老问题。 我对它的理解是相当有限的(很久以前已经读过了这些差异,但是涉及到的事实并没有真正停留)。 据我了解, 缓冲区 被具有活动I / O操作的程序使用,即等待写入磁盘的数据 高速caching 是完成的I / O操作的结果,即已刷新的缓冲区或从磁盘读取的数据以满足请求。 我可以得到一个明确的后代解释?
在我们的服务器中,我们有一个在午夜放弃caching的习惯。 sync; echo 3 > /proc/sys/vm/drop_caches 当我运行代码似乎释放大量的内存,但我真的需要这样做。 RAM不是免费的吗?
我正在运行top来监视我的服务器性能,我的两个Java进程显示高达800MB-1GB的虚拟内存。 那是一件坏事? 虚拟内存是什么意思? 顺便说一句,我有1GB的交换,它显示0%使用。 所以我很困惑。 Java进程= 1 Tomcat服务器+我自己的java守护进程Server = Ubuntu 9.10(karmic)
为什么我的服务器显示 total used free shared buffers cached Mem: 12286456 11715372 571084 0 81912 6545228 -/+ buffers/cache: 5088232 7198224 Swap: 24571408 54528 24516880 我不知道在linux中计算内存。 我认为它说5088232用于7198224是免费的,这意味着它实际上消耗5GB的RAM?
我正在运行Windows 7双核心,x64 AMD 8GB内存。 我甚至需要一个页面文件? 将它删除有助于或伤害性能? 如果这是一个服务器或桌面它会有所作为吗? Windows 7与Windows 2008对页面文件有什么不同?