标签: memory-usage

Linux 机器上的内存使用与 `free` 不匹配

我有一台 Linux 机器,它没有在软件方面运行太多,但不知何故使用了 2GB 已安装内存中的 1.7GB。当我自由奔跑时,我得到:

             total       used       free     shared    buffers     cached
Mem:       2072616    1979972      92644          0     164876     129740
-/+ buffers/cache:    1685356     387260
Swap:       498004       1632     496372
Run Code Online (Sandbox Code Playgroud)

当我运行时top,我得到与第一行相同的数字free(由于内存使用现已自行修复,因此无法重现)。

但是,当我运行 时ps aux,所有进程的内存使用量仅为 295.9MB,这与 free 报告的 1.7GB 内存使用情况相差甚远。

为什么会有这样的差异?

编辑:

这是请求的额外信息,但我认为它不会有太大帮助,因为我现在已经显示使用了 ~360MB 使用free和 ~300MB 使用使用来自ps aux. 不知道为什么问题会自行解决。

free

             total       used       free     shared    buffers     cached
Mem:       2072616     668484    1404132          0     185868     139196
-/+ buffers/cache:     343420    1729196
Swap:       498004       1632     496372
Run Code Online (Sandbox Code Playgroud)

cat /proc/meminfo

MemTotal: …
Run Code Online (Sandbox Code Playgroud)

linux memory memory-usage

5
推荐指数
1
解决办法
4582
查看次数

什么会导致内核内存不足错误?

我正在运行Debian GNU/Linux 5.0,并且遇到来自内核的间歇性内存不足错误。服务器停止响应除 ping 之外的所有请求,我必须重新启动服务器。

# uname -a
Linux xxx 2.6.18-164.9.1.el5xen #1 SMP Tue Dec 15 21:31:37 EST 2009 x86_64
GNU/Linux
Run Code Online (Sandbox Code Playgroud)

这似乎是 /var/log/messages 中的重要部分

Dec 28 20:16:25 slarti kernel: Call Trace:
Dec 28 20:16:25 slarti kernel: [<ffffffff802bedff>] out_of_memory+0x8b/0x203
Dec 28 20:16:25 slarti kernel: [<ffffffff8020f825>] __alloc_pages+0x245/0x2ce
Dec 28 20:16:25 slarti kernel: [<ffffffff8021377f>] __do_page_cache_readahead+0xc6/0x1ab
Dec 28 20:16:25 slarti kernel: [<ffffffff80214015>] filemap_nopage+0x14c/0x360
Dec 28 20:16:25 slarti kernel: [<ffffffff80208ebc>] __handle_mm_fault+0x443/0x1337
Dec 28 20:16:25 slarti kernel: [<ffffffff8026766a>] do_page_fault+0xf7b/0x12e0
Dec 28 20:16:25 slarti kernel: …
Run Code Online (Sandbox Code Playgroud)

linux kernel memory-usage

5
推荐指数
1
解决办法
6297
查看次数

EC2 内存使用情况

我在亚马逊 EC2 免费套餐上建立了一个站点,该站点配备 613MB 内存,无交换区。我发现服务器几乎一直使用 100% 的内存。我的网站正在运行 WordPress,并且打开了 wp 超级磁盘缓存。而且网站并不繁忙,每天大约300ip。谁能告诉我这是正常的还是出了问题?谢谢!

free -m
             total       used       free     shared    buffers     cached
Mem:           596        589          7          0          0         14
-/+ buffers/cache:        574         22
Swap:            0          0          0

ps aux | grep "apache"
apache   10120  0.2  5.1 287908 31732 ?        S    10:41   0:19 /usr/sbin/httpd
apache   10122  0.2  4.9 288448 30504 ?        S    10:41   0:22 /usr/sbin/httpd
apache   10123  0.2  4.8 288380 29676 ?        S    10:41   0:20 /usr/sbin/httpd
apache   10124  0.2  5.1 287616 31708 ?        S    10:41 …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 memory-usage

5
推荐指数
1
解决办法
2619
查看次数

如何查看 NTFS 元数据?

在 Windows Server 2008 R2 文件服务器上,我们遇到了内存使用问题。我们使用RAMMap进行故障排除,发现 10GB 的 NTFS Metadata 被缓存在内存中并且永远不会被释放。

我的第一个想法是,由于在我们的 24TB RAID 上生成了数百万个小文件,因此主文件表变得越来越大。但是,在NTFSInfo.exe的帮助下,我们发现 MFT 的大小只有几 MB。

所以现在我想看看 NTFS 元数据中还有什么东西占用了这么多空间。如果我可以确定,那么也许我可以确定如何处理内存问题。NTFSInfo 不提供有关其他类型元数据的任何信息,到目前为止我还没有找到任何其他工具可以提供。

是否有任何建议可以向我显示有关 NTFS 元数据的特定信息的工具?

ntfs file-server memory-usage metadata

5
推荐指数
1
解决办法
4963
查看次数

top少数进程内存总和大于100%

我正在尝试计算 LAMP 堆栈计算机中 AMP 使用的内存量。

top -bn1 | grep -E '(mysql|httpd|php)' | awk '{mem += $(NF-2)} END {print mem}'

但是使用上述命令生成的总和大于 100%,但我期望低于 100%,因为各个进程的内存使用情况已经以 % by 表示top

请帮我理解是否top不能使用这种方式报告的内存来计算内存使用情况?

linux memory lamp top memory-usage

5
推荐指数
1
解决办法
7243
查看次数

减少 Gitlab 内存占用

我目前正在DigitalOcean VPS上运行Gitlab实例 (v6.7.3) 和Ghost 驱动的个人博客,其大小为 512mb(最低端),由nginx 提供服务。直到最近我都无法同时运行,因为 Gitlab 无法启动,抱怨内存不足。我通过在 VPS (1GB) 上启用交换解决了这个问题(至少是暂时的)。主要问题似乎是 Gitlab 产生了 25 个(!)Sidekiq 实例,每个实例占用了我大约 30% 的内存,如. 我 在 SF 上发现了一个关于配置 Gitlab 以使用更少的 Sidekiq 工人的问题,但没有得到接受的答复。htop

我的问题是:以尽可能低的内存占用运行 Gitlab 的配置是什么?也许我无法减少那 25 个 Sidekiq 工人,但我可以做其他事情来减少其内存占用。

我的 VPS 仅供私人使用,我的 Gitlab 上有 5 或 6 个项目,预计一天最多提交 5 或 6 次,因此实际工作的最轻量级配置对我来说已经足够了。我的博客也很少点击。

nginx memory-usage gitlab

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

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

我有 1M 静态重写规则并使用此映射配置。如何确定的最佳值map_hash_max_sizemap_hash_bucket_size?我想优化内存消耗。关于这一点的文档非常少。

别人在 Nginx 论坛上问过,但没有回应。

performance nginx memory-usage

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

用大量可用的内存交换

我有一个旧的遗留服务器,交换有一个奇怪的问题。

  • Linux 版本:Red Hat Enterprise Linux Server release 5.6 (Tikanga)
  • 内核版本:2.6.18-238.el5
  • 服务器是虚拟的
  • 服务器有 2 个虚拟套接字。

我知道交换分区很小,要添加一个交换文件,但是,在重新启动后几个小时后,情况是这样的:

free -m
             total       used       free     shared    buffers     cached
Mem:         15922      15806        116          0        313      13345
-/+ buffers/cache:       2147      13775
Swap:         2047       2042          4
Run Code Online (Sandbox Code Playgroud)

Oracle 数据库已安装,但几乎未使用。我想了解为什么内存分配会这样。我的意思是 13345 缓存,意味着免费。为什么要填充交换?

以前的系统管理员将 swappiness 配置为:3未配置
大页面。

我看到一些类似的帖子,但没有解决方案来理解。这里的答案:linux redhat 5.4 - 内存仍然可用时交换谈到numa,所以我挖掘了一下(我是dba,不是系统管理员,如果我错过了什么,很抱歉)。

grep NUMA=y /boot/config-`uname -r`
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI_NUMA=y

dmesg | grep -i numa
NUMA: Using 63 for the hash …
Run Code Online (Sandbox Code Playgroud)

linux redhat swap memory-usage

5
推荐指数
1
解决办法
2474
查看次数

Amazon RDS“可用内存”迅速减少

我最近注意到 Amazon RDS(db.m4.large 实例)上的可用内存正在迅速减少。在过去的几周里,它已从近 3700 MB 迅速下降到 1000 MB。但应用程序没有出现任何问题。我的 CPU 利用率也一直很低 - 一直在 7% 左右。

我可以做些什么来清除记忆吗?担心如果按照这个速度发展,未来几天内存可能会耗尽。

可释放内存

database memory-usage amazon-rds

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

htop 显示 33% 的内存使用率,但它的内存条已满

当我htop在远程计算机上运行时,它的Mem条形显示内存已满,甚至交换共享 2.3G(我也可以看到系统运行速度非常慢)。但是htopMEM%列显示大约 33% 的内存使用率。RES列的总和约为 3G,它确认了 33% 的内存使用率。我不知道这些结果之间有什么关系。我也找不到一些进程(除了PID 814)来释放内存。

你可以从我的htop 这里找到一个截图。

另一点是在我不清楚的列中PID 814有一个红色值(红色表示单位是 Gbyte)。也许对大页面的更改可能会影响此输出。在下面你可以看到输出16.0TVIRTcat /proc/meminfo | grep Huge

AnonHugePages:    532480 kB
ShmemHugePages:        0 kB
HugePages_Total:       5
HugePages_Free:        5
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:    1048576 kB
Run Code Online (Sandbox Code Playgroud)

PS:对大页面的更改不是我做的。我不知道这是否会影响进程内存使用。(另一方面,如果我回滚大页面大小,进程使用的内存是否减少?大页面如何影响性能?它使用更多内存但减少内存页面错误?该内存计为进程内存使用量,例如其数据还是尊重操作系统并在其他地方计算?)

ubuntu memory-usage htop

5
推荐指数
1
解决办法
7744
查看次数