标签: memory-usage

有些东西会吃掉所有内存(我怀疑某些应用程序存在内存泄漏)。如何检测什么?

我有运行liquidsoap+icecast 包和简单网站(httpd+mysqld)的服务器。没什么特别的。每天约有 2000 多名访客,平均约有 50 人同时在线。

服务器有 8GB 内存。随着时间的流逝,可用内存量不断减少,尽管服务器上没有启动任何新内容并且没有新用户。在某些时候它开始交换,服务器上的负载上升并且变得无响应。通常我所做的只是重新启动服务器......

可以做些什么来检测究竟是什么泄漏了内存?我使用 top 来监控资源的使用情况,但据我所知,它没有任何帮助:

在此处输入图片说明

有没有办法找出使用那么多内存的东西?或者什么开始大量交换到磁盘?有什么方法可以在不重新启动服务器的情况下释放内存?

linux resources top memory-leak memory-usage

17
推荐指数
3
解决办法
8万
查看次数

您多久重新启动使用率很高的 Windows Server 2008R2 远程桌面服务器 (VM)?

注意:我已阅读Windows 服务器需要重新启动的频率?但是这个问题特别与我们的远程桌面服务器有关。

我们有一台 Windows Server 2008R2 服务器 - 一台 VMware ESX VM - 获得远程桌面服务许可,25 个用户也执行 RRAS (SSTP)。在平均工作日,在工作时间内,有 8 到 12 个登录的活跃用户以及 4-6 个“断开连接”的用户。它具有 12 GHz CPU 硬预留和 16 GB RAM,也完全预留。需要时,CPU 预留可扩展至最大 24 GHz。

我们的许多用户完全依赖服务器来工作。他们也对它的性能抱怨不已,但许多人不愿意改变工作习惯或软件来提高其性能。具体来说:

  • 用户拒绝注销而不是断开连接
  • 用户坚持使用 Lync 2013 而不是 Lync 2010(Lync 2013 是臭名昭著的资源猪)

我不能夸大他们拒绝注销的重要性。断开连接的用户在断开连接时继续占用 RAM,这意味着在任何给定时间,我们有多达 16 个正在运行的某些程序实例

我还根据经验注意到,远程桌面服务器运行的时间越长,泄漏/僵尸事件的累积就越多。重新启动后,即使在许多用户登录后比较性能时,服务器也是新鲜的并且速度更快。我还读到定期重新启动可能会有所帮助。

所以我建议定期重启虚拟机——我想每周重启一次,比如周六晚上——因为我觉得这些重启可以解决很多问题。

我想知道,如果您是 Windows 管理员,

  • 即使在用户断开连接/重新连接之后,垃圾/僵尸/泄漏也会随着会话时间的推移而累积这一事实是否正确?

  • 多久重新启动一个类似的充分利用的Windows Server远程桌面服务?

remote-desktop-services windows-server-2008-r2 cpu-usage memory-usage lync

17
推荐指数
3
解决办法
5459
查看次数

我的内存去哪儿了?

注意:在你跳得太快之前,是的,我阅读了linuxatemyram.com

我有一台带有 64GB RAM 的服务器。

free -m 说我的 RAM 已满,这不是因为磁盘缓存:

             total       used       free     shared    buffers     cached
Mem:         64458      64117        340        201         67        331
-/+ buffers/cache:      63719        739
Swap:         1532        383       1149
Run Code Online (Sandbox Code Playgroud)

但是,top按内存使用量排序不会加起来为 64GB:

KiB Mem:  66005116 total, 65652464 used,   352652 free,    67512 buffers
KiB Swap:  1569780 total,   392656 used,  1177124 free.   337464 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 6258 mysql     20   0 38.665g 0.033t   4924 S   1.3 54.3 …
Run Code Online (Sandbox Code Playgroud)

linux memory memory-usage

15
推荐指数
1
解决办法
4251
查看次数

避免 ElastiCache Redis 上的交换

我们的 ElastiCache Redis 实例交换一直存在问题。亚马逊似乎有一些粗略的内部监控,它会注意到交换使用高峰,并简单地重新启动 ElastiCache 实例(从而丢失我们所有的缓存项目)。这是过去 14 天我们 ElastiCache 实例上 BytesUsedForCache(蓝线)和 SwapUsage(橙线)的图表:

Redis ElastiCache BytesUsedForCache 和 Swap

您可以看到不断增长的交换使用模式似乎触发了我们的 ElastiCache 实例的重启,其中我们丢失了所有缓存项目(BytesUsedForCache 降至 0)。

我们 ElastiCache 仪表板的“缓存事件”选项卡具有相应的条目:

来源 ID | 类型 | 日期 | 事件

缓存实例 ID | 缓存集群| 2015 年 9 月 22 日星期二 07:34:47 GMT-400 | 缓存节点 0001 重新启动

缓存实例 ID | 缓存集群| 2015 年 9 月 22 日星期二 07:34:42 GMT-400 | 在节点 0001 上重新启动缓存引擎时出错

缓存实例 ID | 缓存集群| 2015 年 9 月 20 日星期日 11:13:05 GMT-400 | 缓存节点 0001 重新启动

缓存实例 ID | 缓存集群| …

swap memory-usage redis amazon-elasticache

14
推荐指数
1
解决办法
1万
查看次数

服务器实际需要多少内存?

我在世界各地部署了相当多的服务器。他们运行 Windows 2003 x64 和 SQL Server 2005 x64,6 GB RAM。这些盒子没有最好的(甚至是可接受的)配置,因为几年前订购它们的人并不真正知道他在做什么。

这些盒子总是内存不足,最终使用分页文件,一切都变慢了。通常提交费用是 5.8GB,然后当有人需要做一些密集的事情(例如运行报告)时,这个数字就会飙升。

我一直试图获得订购更多内存的权力,但我遭到了强烈反对(例如,使软件性能更高,所有这些服务器的成本太高,或者证明盒子没有足够的内存等。 ...)。

我可以向非技术人员展示一个盒子需要多少 RAM 的指南(或公式),以便我们最终可以订购更多内存?

windows-server-2003 64-bit memory-usage sql-server-2005

13
推荐指数
3
解决办法
5万
查看次数

无法在 Hyper-V 中启动机器 - “系统内存不足,无法启动虚拟机”

我有一台 Window 8.1 主机试图通过 Hyper-V 启动虚拟机。VM 配置为使用 10GB 的 RAM,我有 16GB,它应该启动但没有启动。

相反,我收到了消息

“{VM NAME}”无法初始化。

系统内存不足,无法启动虚拟机 {VM NAME}

主机有 16GB RAM,其中只有 4.8GB 正在使用。这至少有 11GB 可供 Hyper-V 使用。除了它不能。

更准确地说,任务管理器报告以下内存情况:-

  • 使用中 - 4.8GB
  • 可用 - 11.0 GB
  • 承诺 - 7.5/21.9GB
  • 缓存 - 10.8GB
  • 分页池 - 592MB
  • 非分页池 - 309MB

我知道我目前有 10.8GB 的​​“待机”内存。但是如果 Hyper-V 要求它应该发布它对吗?

如果我重新启动然后立即要求 Hyper-V 启动机器,它可以工作,但我必须快速,因为备用内存很快就会被填满。

这是正常的吗?有没有办法清空备用内存并将其取回,这样我就可以启动我的虚拟机而不必重新启动主机?

hyper-v memory-usage

13
推荐指数
2
解决办法
9万
查看次数

ImageMagick 的 `convert` 实用程序在 PDF 输入中占用 *太多* 内存

我经常使用 ImageMagickconvert进行 *->PNG 转换,但是当 PDF 超过 50 页时 -convert占用超过3 Gib (!!!) 的内存。我想它首先加载所有内容。

这是不可接受的。它应该一页一页地阅读PDF,为什么要一次全部阅读!

也许有办法以某种方式调整它?或者有什么好的替代品?

memory convert imagemagick memory-usage

12
推荐指数
3
解决办法
1万
查看次数

限制 RHEL8 可用的 RAM

我们需要在具有 32Gb RAM 的服务器上运行一些测试。

我们可以访问的所有服务器都有 64GB,我们无法对其进行物理更改。

是否有某种方法告诉 RHEL 仅使用固定数量的 RAM,小于安装的 RAM?

memory-usage rhel8

12
推荐指数
2
解决办法
2157
查看次数

Apache内存使用优化

Apache 使用了太多我的服务器内存,导致它崩溃。我在服务器中有 4GB 的 RAM。

我正在尝试微调 Apache 设置以提高其性能,但我对此很陌生。

我试图遵循这篇文章的建议,但我不知道如何计算事情,而且我似乎让事情变得更糟。

我的顶部是这样的:

11697 apache    15   0  322m  37m 4048 S  0.0  0.9   0:00.52 httpd
13602 apache    15   0  323m  37m 3944 S  0.0  0.9   0:00.50 httpd
11786 apache    15   0  322m  36m 4052 S  0.0  0.9   0:00.50 httpd
12525 apache    15   0  322m  36m 4040 S  0.0  0.9   0:00.63 httpd
11806 apache    15   0  322m  36m 3952 S  0.0  0.9   0:00.42 httpd
11731 apache    15   0  322m  36m 4036 S …
Run Code Online (Sandbox Code Playgroud)

memory-usage apache-2.2

11
推荐指数
1
解决办法
3万
查看次数

Solaris 10 上的已用内存

还有一个关于 Solaris 10 内存的问题。

让我发现,我有672 MB可用内存:

130 processes: 126 sleeping, 2 zombie, 2 on cpu
CPU states: 95.1% idle,  3.9% user,  1.0% kernel,  0.0% iowait,  0.0% swap
Memory: 16G phys mem, 672M free mem, 2048M total swap, 2023M free swap
Run Code Online (Sandbox Code Playgroud)

一个vmstat显示我相同:

kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr rm s0 s1 s2   in   sy   cs us sy id
0 0 0 564744 687896  3  13 …
Run Code Online (Sandbox Code Playgroud)

solaris memory solaris-10 memory-usage

11
推荐指数
2
解决办法
5万
查看次数