标签: memory

如何监控内存使用情况以达到报警目的

我们有没有swap的嵌入式Linux系统。

目前,当内存使用百分比增加超过阈值时,我们必须发出警报。并在内存使用百分比增加超过(更高)阈值时重新启动。

为什么要这样做:如果某些程序泄漏,我们可以在内核开始杀死我们的进程之前进行安全重启(这可能导致数据损坏或不可用)。

但是我们有一个问题:

如何计算可用于我们目的的内存使用率-%?

我们尝试使用 /proc/meminfo 的值来计算内存使用情况:

/ # cat /proc/meminfo
MemTotal:       126744 kB
MemFree:         58256 kB
Buffers:         16740 kB
Cached:          31308 kB
SwapCached:          0 kB
Active:          37580 kB
Inactive:        24000 kB
Run Code Online (Sandbox Code Playgroud)

没有成功:

(MemTotal - MemFree) 不可用,因为它包含例如缓存。

(MemTotal - MemFree - Buffers - Cached)确实忽略了 的影响Inactive。所以它也给出了太大的内存使用值。

(MemTotal - MemFree - Buffers - Cached - Inactive) 不可用,因为结果可能为负。

memory linux

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

linux缓存了哪些文件?

我知道 linux 使用未使用的 RAM 来缓存一些文件。但我想知道,它实际上缓存了哪些文件!如果你看看free:

Gesamt Belegt Frei Gemeinsam Puffer Cached
Speicher:       5,8G       3,7G       2,1G         0B       259M       1,7G
-/+ Puffer/Cache:       1,8G       4,0G
Auslagerungsdatei:       4,0G         0B       4,0G
Run Code Online (Sandbox Code Playgroud)

它说我的 1.7 GB RAM 用作缓存。我知道这不是有害行为,但我很好奇 Linux 认为哪些文件值得缓存。是否有命令/文件显示缓存文件?

memory linux cache kernel memory-management

9
推荐指数
1
解决办法
5858
查看次数

页表存储在哪里

我的问题是“页表存储在哪里:在物理内存(RAM)中或作为用户空间中的某些数据结构”。

PS:到目前为止我所了解的:进程内存布局有几个段(代码/数据/堆/堆栈等)。由于现在不使用分段,因此使用分页并且每个分段将有许多固定大小的页面。每个段也将有相应的虚拟地址空间 (VAD)。这些将指向主页表,主页表将指向辅助页表,最后 pte 将指向磁盘中的页框(??我希望这是正确的)。那么,如果 VAD 在用户空间中,那么页表是否也驻留在用户空间中,或者它们存储在 RAM 中?

memory linux operating-systems memory-management

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

如何检查我的系统 RAM 是 DDR2 还是 DDR3

我有一台紧凑型台式电脑,我想用 2 或 3 GB 或 RAM 更新它。我很困惑这个系统有什么类型的 RAM 是DDR2 还是 DDR3。我电脑的处理器是AMD Athlon。

所以,如果可能的话,请让我知道如何检查内存类型是 DDR2 还是 DDR3。

以及如何通过查看 RAM 来检查它的类型。

memory

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

memtest86 的连续传递需要更长的时间是否正常?

完成一次传递需要 35 分钟(默认配置是四次传递),所以我飞跃并假设测试将在大约 105 分钟内结束。

3小时后我回来了,期待它完成;然而,第三关才进行到一半!(零错误,谢天谢地)。解释是什么?

规格方面:我在联想 X220、64 位 i5、8GB RAM 上通过可启动 USB 运行 memtest86。

memory

9
推荐指数
1
解决办法
1552
查看次数

配备 AMD Phenom II X4 940 的华擎 N68C-GS4FX 主板可以运行 DDR3 RAM 吗?

我最近升级了我的主板,现在正在查看 RAM。我有一个华擎 N68C-GS4FX 主板和一个 AMD Phenom II X4 940 处理器。我使用了 CrucialPC 系统扫描应​​用程序,在内存窗口中它确实建议升级到 DDR3 RAM(因为它适合主板),但我的印象是我的处理器不能与 DDR3 RAM 一起使用。

motherboard memory cpu

9
推荐指数
1
解决办法
2351
查看次数

cgroup memory.limit_in_bytes :是 VIRT 还是 RES 受限?

假设“top”实用程序使用的 VIRT/RES/SHM 术语:

cgroup 是否memory.limit_in_bytes适用于 VIRT 或 RES 内存大小?我问是因为在 Fedora 23 中,在我看来,RES(常驻)内存受 cgroup 限制。然后我安装了 Fedora 25,突然间我得到了以前没有发生过的频繁的进程终止(一些 dmesg 输出包含在底部以说明问题)。我有一种预感,在 Fedora 23 和 25 之间,cgroup 改变了行为,现在似乎限制了 VIRT 而不是 RES 内存使用。

谁能证实我的怀疑?有没有办法恢复旧的行为?我在 cgroup 内核文档中四处搜索,但没有找到任何东西,可能是因为我搜索的术语不正确。

dmesg 输出:

Tue Jun 20 01:46:12 2017: Memory cgroup out of memory: Kill process 787 (Web Content) score 204 or sacrifice child
Tue Jun 20 01:46:12 2017: Killed process 787 (Web Content) total-vm:14151032kB, anon-rss:5000940kB, file-rss:6132kB, shmem-rss:115956kB
Run Code Online (Sandbox Code Playgroud)

memory linux fedora rss

9
推荐指数
1
解决办法
3110
查看次数

“顶部”中的“Web 内容”是做什么的,占用内存?

这里top按内存排序

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                
 4927 shadi     20   0 2227492 320544 127896 S   0.7  8.2   0:42.40 firefox                                
 4984 shadi     20   0 2071260 218544 100976 S   0.3  5.6   0:27.41 Web Content                            
Run Code Online (Sandbox Code Playgroud)

ATM,我只打开了 1 个 firefox 选项卡,我从中提交了这个问题。我的笔记本电脑有 4GB RAM,因此 1 个标签页为 200 MB Web Content。如果我关闭 firefox,Web Content就会消失(我必须重新输入这个问题……哈哈),所以我想它与 firefox 有关。

什么Web Content?

memory firefox

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

有什么方法可以“重置”或“清除”系统管理的窗口分页文件大小?

有什么方法可以“重置”或“清除”系统管理的窗口分页文件大小?就我而言,我安装了 16 场内存,并且所有分页文件设置都设置为自动。在某个时间点发生了内存泄漏,我的 ~2 gb 页面文件的大小增加到 16 GB。如何强制 Windows 将其大小重置为原始大小?我试过完全禁用它并重新启用,将自定义大小设置为 2 GB,然后将其设置回自动 - 在返回自动时它总是变回 16 GB。

memory windows swap pagefile

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

作为服务器 RAM 出售的 RAM 与台式 PC 兼容吗?为什么?

我有一台带有 Intel-Q85 芯片组(Haswell)的旧 Lenovo ThinkCentre M83 SFF i3-4130(序列号 S4C05873)。

  • 从联想页面我得到了一些兼容的产品。其中我发现了一个具有不同等级 (2Rx8) 的模块。
  • 兼容性列表中还列出了一个模块,它是 ECC 模块。我读到,如果许多非服务器主板也接受 ECC 模块,则错误纠正将不起作用。对我来说这没问题,因为我不使用我的 PC 作为服务器。

所以你能告诉我是否可以使用:

  1. 我的 PC 中的服务器 RAM 以及为什么?
  2. 缓冲而不是无缓冲的 RAM,为什么?
  3. ECC 而不是非 ECC 模块,为什么?
  4. 这里以三星M393B1K70DH0-YK0模块为例?

upgrade memory compatibility

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