Linux自由命令含义

Wri*_*own -2 linux free-command

我需要对 Linux 进行一些研究。其中一个问题如下:

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

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

因此,我认为这两行的值可能相同,这取决于使用情况。但是,我不知道我怎么能

KBa*_*art 5

第一行和第二行之间的区别在于,第一行不计算空闲列下的缓存和缓冲区,而第二行则计算。这是一个例子:

                    total       used       free     shared    buffers     cached
[1]    Mem:       4028712    2972388    1056324          0     315056     835360
[2]    -/+ buffers/cache:    1821972    2206740


used[2] = used[1] - buffers - cached
free[2] = free[1] + buffers + cached
Run Code Online (Sandbox Code Playgroud)

所以你的问题的答案是:这两行可能是相同的(或者至少彼此非常接近),但在真实系统上不太可能,因为它要求你释放/耗尽所有缓存。如果您愿意尝试,请尝试一些关于如何删除缓存或编写一个耗尽所有可用 RAM 的程序的建议。