我想限制一个Linux服务器的RAM分配到磁盘高速caching缓冲区,而不是闲置。 (如果有关系的话,CentOS 5)。 我知道,即使只是caching磁盘,使用每一滴物理内存都是理想的select – Linux非常棒。 大多数时候我甚至不考虑试图击败这一点。 让我告诉你为什么我想(我不关心监测): 我的公司与第三方签订了一些虚拟机的合同,我们在每月的账单上都有一个承诺的内存限制。 Overages是疯狂的昂贵。 其中2个虚拟机运行一个应用程序,只是在启动过程中啃 RAM,但一旦稳定,使用率就会下降很多。 开发人员向我保证,这个服务应该做什么,不会很快变好。 所以我保留这些虚拟机configuration了正常运行模式通常需要的大约2倍的RAM。 一旦稳定,额外的东西就会被扔进缓冲区caching,大家都很开心。 除了财务人员。 我们的服务提供商将虚拟数据中心的总数量与分配给缓冲区caching的内存进行了对比,因此我们每个月都会支付这笔费用。 很多。 我不相信我关心什么是caching – 我会很高兴地运行较less的RAM(即更less的caching),并采取一些文件访问性能打击(我承担…),除了当应用程序从头开始,并需要内存不会真正交换到地狱和背部。 所以我正在寻找一种方法来告诉Linux,“嘿,只有1GB(或者更好,x%)的可用内存来caching磁盘caching,只要继续,浪费剩下的时间吧!” 这些年来我们可以节省很多钱,因为如果这个RAM实际上保持空闲并且没有分配给缓冲区,那么它就不会计入我们承诺的数额,我们也不必“出租”它。 但是由于有些东西正在使用它,所以即使它只是缓冲区caching,我们也会付钱。 我search了很多东西,大部分都是看到“OMG为什么我的服务器总是几乎100%”这样的问题,以及那些被吓坏了的关于他们的监控/报警/ nms和受到反馈教育的人 – 这不是我的问题; 10年前我也有同样的反应,但是在这种情况下,我真的不想使用RAM,所以当应用程序不需要时,我不必“付房租”。 备用build议欢迎,如果你想另一种方法来完成这一点。 非常感谢…
我正在Amazon Elastic Beanstalk上运行一个小的t1.micro实例。 该应用程序本身是一个Java Web服务器,通过.warfile upload,响应来自远程Herokunetworking应用程序的请求。 在部署应用程序时,从Heroku应用程序的请求中将多部分表单数据作为文件inputstream和application / json的组合发送到它。 出于某种原因,无论何时发出请求,实例的健康状况都会迅速跳转到“警告”状态,并随着进一步的请求不可避免地跳转到“严重”状态,从而停止响应任何请求。 我一直在努力弄清楚为什么会发生这种情况。 我从“健康”选项卡中看到的一件事情是,响应请求时,内存使用率几乎一直在> 97%,而另一方面,空闲的CPU几乎总是> 99%。 这对我来说似乎很奇怪。 例如,假设我决定将一个50KB的.pptx文件发布到Java Web服务器(足够大以致一致地崩溃实例)。 我将它上传并以Heroku应用程序的stream的formsPOST到Elastic Beanstalk实例。 该实例快速跳转到警告状态,然后在我认为正在尝试读取/写入stream的30秒左右之后,再次跳转到严重并崩溃。 为什么将一个50KB的文件作为一个stream发送到实例足以导致实例崩溃? 我发现很难下载日志,因为它们似乎永远需要AWS才能生成。 有没有简单的方法来增加实例的内存(即我应该跳到更高层次的实例)? 谢谢你的帮助。
我们正在计划build立一对用于机器学习和数据科学任务的多GPU Linux服务器。 根据我们的要求,我们需要在这些机器上放置大量的RAM。 我们计划使用24x 64GiB LRDIMM,共计1.5TiB。 对于GPU来说,我们打算使用Titan X来实现最好的效果,但根据Nvidia的Linux驱动程序文档 ,当前版卡不能处理超过1TiB的主机系统RAM。 我听说过“传闻”Pascal架构将会增加寻址能力,但是我找不到任何可靠的文件来证实或反驳这一点。 如果事实certificate这是真的,我们可能会使用较新的GTX 1080卡,即使它们在显卡上具有4GiB以下的内存。 因此,我的问题是:是否有一些Pascal寻址function的文档,我错过了? 或者,有人可以访问一个GTX 1080运行一个 grep DMA /proc/driver/nvidia/gpus/domain:bus:device.function/information对我?
免责声明:我正在运行一个老化的集群,我的信息非常有限 – 我是关于第十个研究生来处理日常维护的,我不是HPC,硬件或软件方面的专家。 我使用这个集群来运行我开发的代码,只在必要时排除问题。 文档主要限于集群专用集群pipe理系统(Scyld),我们不再保修,所以调用技术支持是最后的手段,因为我们会收取费用(学术界强烈build议不要这样做)。 问题:此群集的其中一个节点无法启动,在启动过程中出现以下错误: Node1: Dram ECC requested but not enabled Node1: No DQS Receiver Enable pass window found Node1: DQS Rcvr En pass window too small (far right of dynamic range) DQS-DQ passing window too small Press F1 to Resume 点击F1后,节点重新启动,并返回到此。 这让我觉得有一个内存(读取:硬件)的错误。 我打开了BIOS,所有的内存都显示出来了 – 但事件日志中有5个项目(贴在底部)。 我有一种感觉,这些代码可以指导我的错误 – 特别是如果我有一个DIMM死棒,或更糟糕的。 尝试修复:集群上的每个节点都包含2个四核AMD Opteron处理器2350,每个处理器都有自己的8个槽位存储体。 目前,每个银行在插槽1-4中安装了4根DIMM。 我尝试重新安装DIMM,颠倒DIMM的顺序,将DIMM插入插槽5-8,然后切换DIMM所在的插槽,以查看是否允许我隔离任何问题 […]
我在我的服务器上有以下设置: 16G RAM 64G交换 我想用以下选项设置一个tmpfs分区: 使用高达50%的RAM(8G) 具有tmpfs 8G + swap大小= 72G的总大小 换句话说,我希望tmpfs中的第一个8G数据能够存储到内存中,而任何高于此数据的数据都将被写入磁盘。 这可能吗? 我在tmpfs文档和fstab示例中find的选项只允许我限制文件系统的总大小。 所以如果我把它设置的很大,它可能会吃掉我所有可用的内存。 如果将其设置为较小的数量,则不会吃掉内存,但可能没有足够的空间来满足应用程序的需要。 谢谢!
在过去几周内,我注意到Windows Server 2012正在使用所有可用的内存。 通常这台服务器大约在6.5-7GB(8),偶尔会达到7.5GB,但是相当快速地回落。 在过去的1-2周里,它一直在不断地超越记忆。 它重新启动后(已经约14-21天),并安装了一些更新。 从RAMMap压缩的RMP: https ://files.pceasies.com/SERVER.7z Process Explorer截图: https : //files.pceasies.com/memory_usage.jpg 不确定屏幕上的任何内容是否有用,因为我已经尝试closures正在运行的程序,这没有帮助。 locking在〜2.5GB的驱动程序是Hyper-V虚拟机。 这似乎与系统(内核?)的工作集是如此之高,但除此之外,我不知道。 让我知道还有什么会有所帮助。
纠正我,如果我错了,但我的理解板可回收持有caching的内核对象,可以释放,如果需要的话。 因此,如果应用程序需要分配更多的空间,即使“空闲”内存不足,操作系统也会从所需的内存量(除非不可能)中删除某些可回收的应用程序和私有应用程序的页面。 这是我的记忆看起来: Memgraphics和/ proc / meminfo输出: MemTotal: 8171852 kB MemFree: 825892 kB MemAvailable: 6273852 kB Buffers: 227448 kB Cached: 1261944 kB SwapCached: 15324 kB Active: 2582260 kB Inactive: 499232 kB Active(anon): 1460764 kB Inactive(anon): 131340 kB Active(file): 1121496 kB Inactive(file): 367892 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 524284 kB SwapFree: 440372 kB […]
在我的Linux Redhat机器(版本5.x) 我执行以下步骤以增加从6G到8G的交换 lvcreate -n swap -L 2g /dev/rootvg mkswap /dev/mapper/rootvg-swap1 swapon /dev/mapper/rootvg-swap1 步骤交换后成功升至8G 两天后我执行swapoff -a和swapon -a 但是我注意到总交换只有6G,就像之前我的步骤一样! 请build议我的步骤有什么问题 – 缺less什么?
我有一个Debian 8虚拟机(在proxmox)dynamic内存分配范围从512 MB到4GB的内存。 我在该机器上安装了rabbitmq-server,并想知道内存工作stream程如何与这个设置一起工作。 我已经将内存水印设置为0.9,但是当然,这是启动rabbitmq-server时分配的内存(通常非常低,约900MB)的90%。 使用绝对值不起作用,因为它将获得指定的绝对值或指定的RAM的最小值。 当兔子开始时,它会很快达到门槛,并阻止出版商等等。 什么是解决这个问题的最好方法(我在这里有点迷路) – 我希望兔子根据需要使用所有可用的内存 – 我是否应该请求分配内存或者有一些方法来设置兔子禁用这个水印? 谢谢!
$ free total used free shared buff/cache available Mem: 16349804 4727520 9075260 13992 2547024 11238920 Swap: 19528700 12284 19516416 $ cat /proc/vmstat nr_free_pages 2268791 nr_file_pages 502861 $ cat /proc/meminfo MemTotal: 16349804 kB MemFree: 9075360 kB MemAvailable: 11239020 kB Buffers: 1063716 kB Cached: 939312 kB SwapCached: 8416 kB 为什么在free命令中显示的buff / cache(2547024)多于vmstat(502861 * 4 = 2011444)或meminfo(1063716 + […]