Articles of 内存

monit认为是什么内存使用?

一旦有监视器内存使用情况… 检查系统foo 如果内存使用率> 95%,则提示 它使用可用的RAM,还是免费的 – / +缓冲区/caching? (或者是其他东西?) #free -m caching总共使用的空闲共享缓冲区 Mem:998 851 146 0 114 70 – / + buffers / cache:666 332 交换:2047 54 1993

Xen dom0专用内存?

如何为xen主机系统dom0分配专用内存以及如何防止dom0内存膨胀? xen主机dom0的最小内存需求是什么?当已经有10个客户OX每个512 MB?

如何释放PHP-FPM内存?

有几个讨论抱怨PHP-FPM高内存使用率,没有任何实际的方法来克服。 当我用大量的testing来探究这个问题时,问题与PHP-FPM时代的年龄有关。 想象一下,我们有pm.max_children = 10,并有一个消耗10M内存的PHP脚本。 一个预计需要100MB的MB。 这对前10个过程是正确的。 处理20个PHP脚本后,系统内存使用量为200MB,这意味着在前10个进程中消耗的内存还没有被释放。 这将增加内存使用量,直到PHP-FPM进程重置时达到pm.max_requests 。 注意:这只是一个大致简化的示例,而不是实际的行为。 在现实世界中,这有时会发生。 通常,在PHP脚本的末尾,PHP所消耗的内存将被自动释放。 在PHP-FPM中,这个内存sometimes (我不知道什么时候)不会被释放。 这意味着用于处理类似的脚本(使用10MB内存) pm.max_children = 10 pm.max_requests = 100 你不需要100MB或1000MB的内存; 但介于两者之间。 换句话说,一些PHP previous processes脚印留在PHP-FPM孩子PHP-FPM 。 与此理论相一致, PHP-FPM的高内存使用率将通过减lesspm.max_requests来克服,但这不是最终的解决scheme,我们需要find一种方法来释放以前PHP进程对PHP-FPM儿童。 任何想法?

强制进程页面打开

我开始了4个进程,进行繁重的计算。 该机器有4个完整核心,每个进程都是单线程的,所以它们不会竞争CPU。 但是,我意识到他们需要更多的内存比物理存在于这个系统(16GB)。 现在他们分配的地址空间大约是20GB,所以每个地址空间都有一部分被换出来了。 所以我决定暂停这些进程之一,并且我想把它的内存页交换,所以物理内存只能用于其他三个进程。 我认为这将最终发生,而三个活着的进程将尝试访问换出的页面。 但是我想强制它使计算不必等待IO。 我的问题: 是否有可能强制暂停进程的内存去交换? (所以当活着的进程将做新的分配时,不会有IO) 是否有可能迫使一个活着的进程内存回到内存? 这是Debian SID。

为什么我的KVM,RHEL6.2服务器交换?

我有用来运行KVM虚拟机的RHEL6.2服务器。 服务器本身有16 GB的RAM。 我想看看我能运行的最大的虚拟机,而不是让qemu-kvm进程交换。 VM内存大约15GB。 (是的,我意识到这是在推动极限,但在回答诸如“15GB太多”之类的问题之前,读到最后。) [root@xxx libvirt]# virsh dumpxml VM2 | grep -i memory <memory>15000000</memory> <currentMemory>15000000</currentMemory> [root@xxx libvirt]# ps -ef | grep kvm root 872 1 16 10:55 ? 00:03:00 /usr/libexec/qemu-kvm […] -m 14649 -name VM2 […] [root@xxx libvirt]# free -k total used free shared buffers cached Mem: 16332640 16194440 138200 0 1544 15700 […]

一个大的交换分区的缺点

我知道在使用交换内存时性能会大大降低,但是如果浪费了硬盘空间,有没有(有希望不使用)大型交换分区的缺点?

Ubuntu如何检测OOM杀手是否运行

我们使用Nagios来监视我们的服务器。 现在.. Linux使用我们给他们的所有内存,所以没有办法检测到我们即将耗尽内存。 由于内存使用过多,我们有几次服务器崩溃。 有什么办法来检测如果Ubuntu(Linux)启动OOM杀手? 我知道它写在日志文件中,但无论如何检测它何时启动? / RJ

如何全局限制git的内存使用量

我有一个虚拟专用服务器,所有我的产品的git存储库。 问题是,当我从它取,VPS的内存不足了。 所以我必须限制内存的使用。 我知道如何为每个客户端的.git / config(pack.windowMemory,pack.packSizeLimit)。 有没有办法在服务器上设置限制,并在服务器上的所有git仓库全局设置? 谢谢。 山姆

我怎样才能找出在Linux上进程COMMCOM的内存量?

为了防止OOM杀手运行,我设置了vm.overcommit_memory = 2和vm.overcommit_ratio = 100。 我想知道一个给定的进程提交了多less内存,这是贡献计数。 这不是常驻工作组,因为常驻工作组不包括换出的金额。 它也不是虚拟大小,因为虚拟大小包含mmap()ed文件,这些文件不会影响提交限制。

关于巨大的页面和翻译旁视缓冲区

他们混淆了我。 巨大的页面:pipe理OS内核的物理内存的方式,为了减less页表中的索引号,它被内核拆分成大页面。 我从它得到: https : //stackoverflow.com/questions/1973473/difference-between-cache-and-translation-lookaside-buffertlb 翻译旁视缓冲区:翻译旁视缓冲区(TLB)是内存pipe理硬件用于提高虚拟地址转换速度的CPUcaching。 巨大的页面(OS级别)翻译后备缓冲区(CPUcaching) https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt文件说,/ proc / sys / vm / nr_hugepages指出了当前内核巨大页面池中的“持久”巨大页面的数量。 在我的服务器上, echo 40 > /proc/sys/vm/nr_hugepages cat /proc/meminfo | grep -i hugepage AnonHugePages: 1675264 kB HugePages_Total: 40 HugePages_Free: 40 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB 接下来,这是我的问题。 AnonHugePages是什么意思? 为什么是1675264KB? 我认为有40 x 2048KB的巨大页面内存。 我不明白。 为什么我无法修改Hugepagesize? 理论上,内核可以修改大小。 也许只是没有内核的接口。 如何获得翻译旁视缓冲区大小? 我想系统内核知道大小,因为内核会使用它。 我希望我明确expression。 🙂