相关疑难解决方法(0)

在 Linux 中,free 命令报告的“缓冲区”和“缓存”有什么区别?

这是我不时看到的一个老问题。我对它的理解相当有限(很久以前就读过这些差异,但所涉及的事实从来没有真正卡住过)。

据我了解,

  • 缓冲器

    由具有活动 I/O 操作的程序使用,即等待写入磁盘的数据

  • 缓存

    是完成 I/O 操作的结果,即已刷新缓冲区或从磁盘读取数据以满足请求。

我能为后代得到一个明确的解释吗?

linux memory virtual-memory

77
推荐指数
3
解决办法
7万
查看次数

什么是交换内存?

我使用 RAM 来存储我的一些数据库表,而其他的则存储在硬盘中。

今天我知道我的进程正在使用交换内存。现在什么是交换内存以及如何检测哪个进程正在使用交换内存以及如何阻止它们使用它?

swap

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

为什么 Red Hat Linux 报告的系统可用内存少于实际可用内存?

我有一个相对较小的家用 Red Hat Linux 服务器(大约 8 GB RAM)。除了运行一些自制的应用程序来跟踪各种事情之外,我不使用它。在盒子上运行的唯一真实的东西是一个数据库和一个网络服务器。

我注意到,当使用 NMON 和 TOP 等工具检查系统计数器时,系统总可用内存相对较低(大约几百 MB),而数据库和 Web 服务器的活动内存仍然很低(仅总共消耗 3 GB)。即使包括所有其他正在运行的进程,总消耗的内存也小于 4 GB。

为什么 Red Hat Linux 报告的可用内存少于总内存减去运行进程的已用内存总和?

linux memory redhat low-memory

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

Slab 使用 88Gb 的 128Gb 可用。什么可能导致这种情况?

我们在 128 Gb 的服务器上运行 debian 2.6.26-2-amd64 x86_64 GNU/Linux。最近它我们的可用内存变得相当低。查看 /proc/meminfo 显示 Slab 正在使用 88Gb,这被计入使用的内存中。

  1. 这是一个问题吗?我怀疑在必要时会释放内存,但我不知道这是否会产生不必要的副作用。
  2. 为什么 Slab 需要那么多内存?有明确的原因吗?
  3. 我们可以避免这种情况在未来发生吗?
  4. 我们如何释放这些内存?

先感谢您

> cat /proc/meminfo
MemTotal:     132304500 kB
MemFree:      26669388 kB
Buffers:        237504 kB
Cached:       11881136 kB
SwapCached:         48 kB
Active:        5244640 kB
Inactive:     11714308 kB
SwapTotal:     5751228 kB
SwapFree:      5750436 kB
Dirty:              24 kB
Writeback:           0 kB
AnonPages:     4840256 kB
Mapped:         163968 kB
Slab:         88314840 kB
SReclaimable: 88275644 kB
SUnreclaim:      39196 kB
PageTables:      80852 kB
NFS_Unstable:        0 kB
Bounce:              0 kB …
Run Code Online (Sandbox Code Playgroud)

memory debian

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

free 显示使用的内存多于顶级进程总数

更新:

这是由于 nss-softkn 的一个已知问题引起的。见这篇文章:https : //www.splyt.com/blog/2014-05-16-optimizing-aws-nss-softoken


当我从我的 centos 6.5 机器上运行 free -m 时,我看到我只有大约 1400 mb 的可用内存,包括缓存。当我做 top 时,按内存排序并加起来我只看到大约 1600 个正在使用的进程。我应该有更多的空闲内存。这发生在我们的几个盒子上。

[root@db1 ~]# free -m
              total      used       free     shared    buffers     cached
Mem:          7840       7793         47          0        287       1357
-/+ buffers/cache:       6148       1692
Swap:         7983          7       7976
Run Code Online (Sandbox Code Playgroud)

最高输出

在此处输入图片说明

这是可视化进程消耗的内存的更好方法:

在此处输入图片说明

linux memory top memory-usage centos6

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