问题标签 [free-command]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3035 浏览

linux - 如何在 linux 中协调“top”和“free -m”的内存使用报告?

free -m我可以看到机器上使用了 377MB 的内存和 1649MB 的空闲空间(其中 1567 被 ubuntu 缓存)。实际输出见下图:

但是,当我查看top的输出时,我可以在 RES 列中看到使用 1GB 和 273MB 的进程。RES 表示驻留在顶层手册页中的非交换物理内存中。

我知道其中一些是由其他进程(共享对象等)共享的。但是,如果有 1GB 的内存被其他进程共享,那么肯定至少必须使用这么多吗?

free如何报告已使用的 377MB 内存,当我查看顶部时,我看到进程使用 1GB 和更多 RES 内存?

0 投票
6 回答
53625 浏览

linux - 什么相当于 Linux 在 FreeBSD v8.1 上的“免费”命令

什么相当于 Linux 在 FreeBSD v8.1 上的“免费”命令?

我从我的应用程序中调用“免费”并在我的应用程序的日志文件中报告结果。移植到 FreeBSD v8.1 时会替换什么?

这是在 Linux 上运行“免费”的示例:

0 投票
5 回答
42507 浏览

memory - 从免费命令中理解“缓冲区”和“缓存”

之前已经问过这个问题,但不想再次更新同一个线程,因为它是一个旧线程。

想在free命令输出中的“缓冲区”和“缓存”列中澄清自己。

这是我的理解...

缓冲区是数据存在于内存中但尚未刷新到磁盘的地方。数据将由bdflush守护进程定期刷新到磁盘,或者我们可以通过运行sync命令手动完成。

另一方面,缓存是加载到内存中但保留在内存中的程序/数据,因此如果再次需要,它将很快可用。

为了理解缓冲区的概念,我尝试了以下实验......

这是free我桌面上的命令阅读

在这里我看不到执行sync命令后缓冲区减少了。

接下来我尝试了以下...尝试将一个巨大的文件写入磁盘。

正如预期的那样,缓存的值应该会增加,并且 free 正在确认这一点..

我再次执行了sync命令,然后使用free. 我可以看到缓冲区值从freecommand 的输出中减少了。缓存没有减少。这意味着我执行ddcoomand 后 RAM 中的脏页已刷新到磁盘。

然后我更新了drop_cache内核参数,以便删除缓存 vlaue

free现在确认缓冲区和缓存值都已删除。

因此,我最初的声明“缓冲区”是尚未刷新到磁盘的 RAM 数据看起来是正确的。

请指导我是否朝着正确的方向前进。

0 投票
5 回答
558 浏览

linux - bash free 命令停止工作

我正在尝试执行以下操作:

获取 的输出free -mo,取第二行并每 30 秒将其记录到文件中。

当我跑

它每 30 秒运行一次并显示输出。

但是当我跑步时

它只运行一次。我无法弄清楚出了什么问题。

free Manual 说 free -s 30 每 30 秒运行一次命令。

0 投票
1 回答
9575 浏览

linux - Linux自由命令含义

我有一些关于 linux 的研究要做。问题之一如下:

'在运行的系统上,free 列中命令 free 的输出是否可能与前 2 行相同?你怎么能强迫这个?

我搜索了一下,我相信我已经找到了这些值的含义。如果我将缓冲区和缓存一起添加,并将其添加到 free 中,它会为我提供缓冲区和缓存的 free 值。这意味着,如果需要,应用程序可以使用的内存。

所以,我想这 2 行的值可能是相同的,这取决于使用情况。但是,我不知道我怎么能

0 投票
1 回答
1519 浏览

linux - “free”显示的Linux交换量与“smem”不同

我正在尝试分析交换量的来源,并查看 smem 显示,我得到了完全不同的交换量使用量。

免费显示以下内容:

和 smem 显示:

为什么free给我显示“2.4G”而smem只给我显示679M?其中之一是显示一些错误的结果。

我需要找出剩余的1.8G在哪里,或者证明free显示错误的结果。

最后但同样重要的是,内核是 2.6.18。

0 投票
3 回答
78872 浏览

linux - Linux free 显示高内存使用率,但 top 没有

在 RedHat Linux 6.2 我正在运行free -m它显示几乎所有8GB使用

但与此同时,top -M我看不到任何使用所有这些内存的进程:

我也试过这个ps mem 脚本,但它只显示正在使用大约 400MB 内存。

0 投票
2 回答
1343 浏览

bash - 如何使用awk从空闲中提取剩余内存?

我需要从输出中提取可用内存free,我想我会使用 awk 并想出类似free | awk '{print $4}'. 这给了我这样的输出:

请注意,共享的标题不是这些数字的标题,数字来自免费(/usr/bin/free第一列没有标题,因此免费数字出现在第 4 列,报告的标题来自第 5 列)。但是,有了这个,我如何只返回第二行?我暂时对其余的不感兴趣。

0 投票
1 回答
1168 浏览

linux - Linux 中的可用内存?

当我在计算机上运行 free 命令时,我看到以下输出:

无论我使用多少内存,free第一行中的列始终保持在 70 MB 左右,并且不会低于(我通过将大文件加载到内存中来尝试此操作,显然cached如此之高)

我的理解是 Linux 总是为 root 用户保留一些内存。这就是为什么免费永远不会低于 70 MB 的原因吗?

编辑:如果是这种情况,那么加载与 root 用户相同的文件应该会占用所有可用内存。不幸的是,我也无法做到这一点。

0 投票
2 回答
1461 浏览

linux - 为什么当我运行一个不断分配内存的进程时,Linux Free 命令没有显示更少的可用内存

我编写了一个 C 程序,在其中我使用 malloc 连续分配内存(1 MB 大小)。我不释放这个内存。当这个程序运行时,我调用了 linux free 命令并期望,使用的内存应该逐渐增加,而内存空闲应该减少。但这并不期望。Free 命令输出几乎保持不变。知道为什么使用 malloc 分配的内存没有显示在 Memory used 中吗?