meminfo

Linux服务器无应用程序内存使用率高
meminfo

Linux服务器无应用程序内存使用率高

我有一台带有 32GB RAM 的 Ubuntu 20.04.4 服务器。服务器正在运行一堆 LXD 容器和两个虚拟机 (libvirt+qemu+kvm)。 启动后,所有服务运行时,RAM 利用率约为 12GB。 3-4 周后,RAM 利用率达到约 90%。 如果我停止所有容器和虚拟机,利用率仍然约为 20GB。 然而,我无法弄清楚是谁在索取这段记忆。 我已经尝试过清除缓存,但这并没有太大改变。 我编译的内核支持公里泄漏但它没有检测到任何有用的东西,而是出现在平板电脑中。 systemd-cgtop: / ...

Admin

为什么 VmallocTotal 为 34359738367 kB?
meminfo

为什么 VmallocTotal 为 34359738367 kB?

/proc/meminfo有内存统计VmallocTotal。它被描述为 vmalloc 内存区域的总大小。 在proc 的手册页 和其他地方作为 内核中可用于 vmalloc 分配的总内存 它激发了我的好奇心,因为它是一个非常高的数字,我在所有地方搜索它都恰好是 34359738367 kB。这似乎是一个任意的最大值。但 34359738367 kB 有什么意义呢?它不是 2 的倍数,也不是素数,但十六进制是 0x7FFFFFFFF。我还注意到pmap进程内存映射地址最大为 0x7FFFFFFFF。那么0x7FFFFFFFF有什么实际意义呢? ...

Admin

如何诊断高“Shmem”? (是:为什么 `echo 3 > drop_caches` 不能将缓存清零?)
meminfo

如何诊断高“Shmem”? (是:为什么 `echo 3 > drop_caches` 不能将缓存清零?)

我的 Linux 机器有一个问题,系统现在似乎很容易耗尽 RAM(并触发 OOM Killer),而它通常可以很好地处理类似的负载。检查free -tm显示buff/cache正在消耗大量 RAM。通常这很好,因为我想缓存磁盘 IO,但现在看来,即使系统内存不足,内核也无法释放该内存。 该系统目前看起来是这样的: total used free shared buff/cache available Mem: 31807 15550 1053 ...

Admin

HighTotal 未显示在 /proc/meminfo 中
meminfo

HighTotal 未显示在 /proc/meminfo 中

我正在尝试评估程序的峰值内存(在 Docker 映像中)。我cat proc/meminfo在最后运行,但没有看到 HighTotal,知道这是为什么吗? (使用 docker 的 debian:latest) cat /proc/meminfo MemTotal: 2046752 kB MemFree: 1781060 kB MemAvailable: 1782308 kB Buffers: 7004 kB Cached: 169056 kB SwapCached: ...

Admin

MeMAvailable 高于预期
meminfo

MeMAvailable 高于预期

$ free -h total used free shared buff/cache available Mem: 7.7Gi 4.5Gi 692Mi 305Mi 2.5Gi 2.6Gi Swap: 2.0Gi 25Mi 2.0Gi MemAvailable我的系统怎么会这么高? 当我阅读时内核代码,我想我们可以MemAvailable用类似的公式进行近似Mem...

Admin

“缓存”内存实际上是免费的吗?
meminfo

“缓存”内存实际上是免费的吗?

运行时cat /proc/meminfo,您会在顶部获得以下 3 个值: MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB 据我所知,“Cached”值是Linux系统创建的磁盘缓存,如果任何应用程序需要更多RAM,它将立即释放,因此Linux永远不会耗尽内存,直到MemFree和Cached都为零。 不幸的是,/proc/meminfo 没有报告“MemAvailable”,可能是因为它在虚拟服务器中运行。 (内核版本为4.4) ...

Admin

ShmemHugePages 是什么意思?
meminfo

ShmemHugePages 是什么意思?

我正在使用grep Huge /proc/meminfo并得到: AnonHugePages: 16384 kB ShmemHugePages: 0 kB HugePages_Total: 33 HugePages_Free: 18 HugePages_Rsvd: 18 HugePages_Surp: 1 Hugepagesize: 2048 kB ShmemHugePages是什么意思/指的是什么? ...

Admin

不同的内核在同一台机器上报告不同的总内存量
meminfo

不同的内核在同一台机器上报告不同的总内存量

我有两个 x86_64 内核在同一台机器上针对相同的代码编译(4.15.0 inLinus 的源代码树)。 配置文件是通过make localmodconfig针对该源运行而生成的,使用来自不同发行版的不同的、更大的原始配置文件:分别是 Arch 和 Slackware。我会给他们起个昵称 拱 配置 和 斯尔克 配置 是因为。 问题:运行cat /proc/meminfo一致报告 MemTotal 字段中大约多出 55-60 MB拱比斯尔克: MemTotal: 32600808 kB为了拱 与 MemTotal: 32544992 kB为...

Admin

如何找到合适的内存大小?
meminfo

如何找到合适的内存大小?

我们有一台32G的Linux机器。我们按如下方式捕获内存: mem=` cat /proc/meminfo | grep MemTotal | awk '{print $2}' ` echo $mem 32767184 现在我们将其转换为 GIGA: mem_in_giga=` echo $(( $mem / 1024 / 1024)) ` echo $mem_in_giga 31 但从结果中我们得到的是 31,而不是 32G。 与命令相同的故事free: free -g total used f...

Admin

/proc/meminfo 值是如何计算的?
meminfo

/proc/meminfo 值是如何计算的?

/!\ 当前状态:更新 4 /!\ 某些 /proc/meminfo 值是某些其他值的总和或差。然而,在这两个链接中没有太多说明它们是如何计算的(只需执行 ctrl-fmeminfo即可到达): https://www.kernel.org/doc/Documentation/filesystems/proc.txt man 5 proc 此外,我还四处挖掘,到目前为止我发现了以下内容: MemFree: LowFree + HighFree Active: Active(anon) + Active...

Admin

从伪造的 /proc/meminfo 中恢复
meminfo

从伪造的 /proc/meminfo 中恢复

因此,我没有考虑太多,就运行了这个脚本: #!/bin/bash SWAP="${1:-512}" NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0" sed "/^Swap\(Total\|Free\):/s,$OLD,$NEW," /proc/meminfo > /etc/fake_meminfo mount --bind /etc/fake_meminfo /proc/meminfo 从这里:http://linux-problem-solver.blogspot.com.ee/...

Admin

4GB内存有什么用? (不是缓存,不是进程,不是slab,不是shm)
meminfo

4GB内存有什么用? (不是缓存,不是进程,不是slab,不是shm)

我们的一些 EC2 服务器在数天或数周内经历了内存泄漏。最终会使用许多 GB 的内存(根据free和等工具htop),如果我们不重新启动服务器,我们的进程就会开始被 OOM 杀死。 一台这样的服务器有 15GB 的内存。这是输出free -m: total used free shared buffers cached Mem: 15039 3921 11118 0 0 7 -/+ buffe...

Admin

如何跨发行版获取可移植的可用内存量?
meminfo

如何跨发行版获取可移植的可用内存量?

报告内存的标准文件/工具在不同的 Linux 发行版上似乎有不同的格式。例如,在 Arch 和 Ubuntu 上。 拱 $ free total used free shared buff/cache available Mem: 8169312 3870392 2648348 97884 1650572 4110336 Swap: 16777212 389588 16387624 $ head...

Admin

在meminfo中,有时Mapped比Cached更多
meminfo

在meminfo中,有时Mapped比Cached更多

在/proc/meminfo,据我所知 缓存 >= 映射 但之后/proc/sys/vm/drop_caches,它转到 缓存 < 映射 Cached: 66132 kB Mapped: 67792 kB /proc/meminfo之后的内容: MemTotal: 369020 kB MemFree: 34588 kB Buffers: 184 kB Cached: 66132 kB Swap...

Admin

swap什么时候触发或者如何计算swap_tendency?
meminfo

swap什么时候触发或者如何计算swap_tendency?

我正在尝试使用 Redis 进行生产服务并尝试避免交换,这对性能不利。 我了解到交换是由 swap_tendency 触发的,这取决于 swap_tendency =mapped_ratio/2 + 交换度 + 痛苦 如何从/proc/meminfo我的监控脚本中获取mapped_ratio/distress? 或者有什么参数可以告诉我系统将要交换页面? ...

Admin