Articles of 内存使用情况

Linux服务器上内存使用率高

我有一个LAMP服务器,具有以下configuration。 CPU:Intel(R)Xeon(R)CPU 内存:32 GB 硬盘:80 GB 在虚拟环境中运行。 服务器中的所有东西都运行平稳。 但是我注意到,RAM的使用量是服务器每天都在增加,没有任何理由。 这是我的服务器上当前的内存使用情况。 # free -g total used free shared buffers cached Mem: 31 13 17 0 0 10 -/+ buffers/cache: 1 29 Swap: 2 0 2 你可以在下面看到最近8周的内存使用情况。 http://i.stack.imgur.com/543jh.png 我已经执行了下面的命令来查找每个进程消耗了多less内存。 # ps -eo size,pid,user,command –sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( […]

当我的服务器空闲时如何减lessRAM消耗

我们使用Slicehost,有512MB的实例。 我们在其上运行Ubuntu 9.10。 我安装了一些软件包,现在我正在尝试优化内存消耗,然后在那里运行任何东西。 一个简单的ps给我的正在运行的进程列表: # ps faux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S< Jan04 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S< Jan04 0:15 \_ [migration/0] root 4 0.0 0.0 0 0 ? S< Jan04 0:01 \_ [ksoftirqd/0] root […]

什么是我所有的记忆?

解决scheme:在这个线程中有很多东西需要阅读,所以我只是总结一下。 问题是VMWare ESX气球驱动程序“膨胀”了操作系统看到的“正在使用”的内存量,以强制操作系统转储caching并减less工作集大小。 这会创build大量“使用中”的物理内存,通过查看进程无法解释。 您可以查看VM的VMWare控制台性能图,并查看正在使用的气球驱动程序。 性能的解决scheme是提高服务器的预留内存量,这会限制气球驱动程序从您那里窃取的内存量。 我有一个32位Windows 2003terminal服务器运行本地副本的SQL Server(完整版本,不expression),并为几个开发人员承载一个Visual Studio 2008开发环境。 这些机器是在vSphere 4上运行的虚拟机,分配有4GB的内存。 当我有2或3个用户login时,它使用了超过4GB的提交内存,但我似乎无法find大部分内存正在使用。 当我在所有用户的任务pipe理器中加起来的所有内存时,最多只占2GB左右。 剩下的是什么? 我试过循环SQL服务器,只是把我看到分配给SQL服务器的内存。 Visual Studio也是如此,如果我closures它,它只会将我在Task Manager中看到的数量从提交的内存池中分配出来。 我还设置了SQL Server的内存选项,最多只能使用512MB。 我不相信这是一个系统或文件caching问题,因为Windows不包括提交的统计信息AFAIK中的内存。 这让我疯狂。 所有这些东西应该有足够的记忆,根据他们似乎正在使用的数量。 如何find这个额外的内存正在使用? 更新 关于我在看哪个内存统计,没有一个加起来。 例如,现在有1个用户login,只运行Visual Studio和WebDev服务器,SQL Server和IIS在后台..我加起来私人字节,我得到大约1049740K的内存,但任务pipe理器说,提交费用是1146M,剩下约150Mb下落不明。 当3个用户login时,只有大约2GB的私有字节(大量的内存被共享,因为用户正在运行Visual Studio)。 虚拟机大小也不相加,因为这通常没有私人字节那么多。 尽pipe奇怪的是,在Process Explorer中虚拟内存的数量与在任务pipe理器中的数量是非常不同的。 PE显示SQL Server的虚拟内存为1,791,444K,Visual Studio为1,251,432K,但是机器的总计只有1146M。 在任务pipe理器中没有WS大小的列,但是在PE中,它将WS列为私有和可共享,并且这些数字显着小于提交费用,甚至加起来。 更新: 我知道这个问题有很多细节,所以也许问题不清楚。 我如何find哪些进程正在使用我系统中所有提交的内存? 由TaskManager和Process Explorer提供的内存不能正确合并,即使提交了4GB,也只显示大约2GB的已提交内存。

Nginx:最佳的map_hash_max_size和map_hash_bucket_size为1M地图?

我有1M静态重写规则,并使用此映射configuration 。 如何确定map_hash_max_size和map_hash_bucket_size的最佳值? 我想优化内存消耗。 这个文件是非常简单的。 有人在Nginx论坛上提出这个问题 ,但没有回应。

Windows Server 2008 R2高内存使用率

我们使用Windows Server 2008 R2运行虚拟机,我们发现物理内存利用率总是接近100%。 机器正在运行水晶报表服务器。 任务pipe理器计数到99%内存利用率,其中来自任务列表的所有进程使用的总和内存仅占总可用内存的1/4。 不知道他们是否是内存泄漏,如果是的话如何find并修补它? 我同意通过总结任务列表值不是正确的方法,因为它可能不考虑caching等,但我猜测它可能是第一个开始。 物理内存(MB) 总计32767caching120可用117免费0 内核内存(MB) 分页381非分页200 系统 —- 提交(GB)19/63

Windows Server 2012 R2 Hyper-V不允许VM使用所有RAM

我有一台带有12GB内存的物理服务器,一个250Gb(180Gb免费)的系统硬盘,以及一个专用硬盘来托pipe1Tb(600 + Gb免费)的虚拟机。 该服务器运行Windows Server 2008 R2作为主机,其上运行多个虚拟机(一些运行Windows Server 2008 R2,其他运行Windows Server 2012 R2,其他运行Debian 6,7和8)。 它允许我发射尽可能多的虚拟机,因为有足够的内存,根据任务pipe理器,我通常使用了11.8G内存。 现在我将主机升级到Windows Server 2012 R2(全新安装在空白的硬盘上,与之前的规格相同)。 它运行良好,但当任务pipe理器告诉我使用9.5Gb的RAM,所以2,5Gb免费,它不允许我用2Gb的RAM启动虚拟机(既不与1Gb,我只能发射一个512Mb内存,然后没有更多)。 什么会导致这种限制? 知道这不是磁盘空间问题,因为所有硬盘上都有足够的可用空间。

芹菜 – 减less记忆消耗

我们在Ubuntu 10.4 64位下运行了约300个celeryd进程,每个进程的空闲时间为〜19mb RES,〜174mb VIRT,因此 – 所有进程在空闲时都有大约6GB的RAM。 处于活动状态 – 进程需要100MB的RES和〜300MB的VIRT 每个进程使用minidom(xml文件<500kb,结构简单)和urllib。 问题是 – 我们如何减less内存消耗 – 至less对于空闲的工作人员来说,可能是一些芹菜或python选项可能有帮助? 如何确定哪个部分占用大部分内存?

实例resize/重新启动后,RAM缓冲区使用率非常高

昨天下午,我们将其中一个Linode实例(CentOS 5.7,64位)从4GB实例调整为12GB。 紧接着重启之后,我注意到缓冲区的内存使用率非常高,比我在任何机器上所见过的都高。 即使在我使用率最高的服务器上,我也很less看到缓冲区使用量超过200MB。 在此服务器上,当前的缓冲区使用率比调整和重新启动之前高两个数量级 。 这是一个有移动前后数据的munin记忆图: “munin”显示的数据被“free”的输出所证实: [erik@host ~]$ free -m total used free shared buffers cached Mem: 11967 10146 1820 0 7374 1132 -/+ buffers/cache: 1639 10327 Swap: 255 0 255 现在,我很清楚内核对caching的未使用内存的使用情况,但是我对缓冲区的理解是缓冲区不同。 它们被用来临时存储写入,直到它们被提交到磁盘。 这是一个正确的理解? 这个服务器有非常小的磁盘IO(这是一个Apache / PHP的networking服务器,数据库是在别处,所以只有实质IO是access_logs),因此,我希望缓冲区的使用率是相当低的。 以下是同一时间段的networkingstream量图: 正如你所看到的,调整前后的stream量并没有实质性的变化。 在重新启动期间,我知道有三件事改变了: 我们select了Linode在本周早些时候给出的另外4个内核,将总内核数量提升到了8。 我们在“最新的64位”内核上,现在是3.7.10-x86_64-linode30。 以前我们在3.0.18我相信。 我们从4GB的RAM到12GB。 在这些变化中,我的预感是这是新内核导致缓冲区使用增加的原因。 不幸的是,目前,我们不能把另一个宕机时间降级到一个较早的内核,尽pipe如果我不能理清这个缓冲区的使用情况,那么这可能最终是必要的。 那么,我有几个问题: 你们有没有运行3.7.10内核?如果是的话,你有没有看到类似的变化? 有哪些工具可用于检查内核缓冲区及其大小? 我认为,就像caching一样,当其他应用程序需要时,内核将释放这个内存。 它是否正确?

Amazon RDS“Freeable Memory”迅速下降

我最近注意到,我的Amazon RDS(db.m4.large实例)上的可用内存正在迅速减less。 在过去的几周里,它已经从几乎3700 MB迅速下降到1000 MB。 应用程序没有任何问题。 我的CPU利用率也一直很低 – 总是在7%左右。 有什么我可以做的,以清除记忆? 担心如果以这样的速度发展,在未来几天内可能会用完。

阿帕奇崩溃VPS – 需要减less内存使用量

我有一个运行使用Apache服务的Web应用程序的VPS,平均每秒处理20-50个请求。 通常高于这一点(每秒50个请求),Apache使用的内存量对于VPS来说太高,并且错误开始发生 – 网页崩溃,VPS在回到正常水平之前摔倒一两分钟。 我相信MaxClients是减lessApache使用的RAM的最好方法,我计划将MaxClients从256(默认值)减less到100左右。每个Apache进程使用〜15MB,服务器总共有1900MB的RAM – 服务器除了运行Apache和几个cron之外别无其他。 当前设置是: KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 3 # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # ServerLimit: maximum value for MaxClients for the […]