我有一些关于 linux 的研究要做。问题之一如下:
'在运行的系统上,free 列中命令 free 的输出是否可能与前 2 行相同?你怎么能强迫这个?
我搜索了一下,我相信我已经找到了这些值的含义。如果我将缓冲区和缓存一起添加,并将其添加到 free 中,它会为我提供缓冲区和缓存的 free 值。这意味着,如果需要,应用程序可以使用的内存。
所以,我想这 2 行的值可能是相同的,这取决于使用情况。但是,我不知道我怎么能
我有一些关于 linux 的研究要做。问题之一如下:
'在运行的系统上,free 列中命令 free 的输出是否可能与前 2 行相同?你怎么能强迫这个?
我搜索了一下,我相信我已经找到了这些值的含义。如果我将缓冲区和缓存一起添加,并将其添加到 free 中,它会为我提供缓冲区和缓存的 free 值。这意味着,如果需要,应用程序可以使用的内存。
所以,我想这 2 行的值可能是相同的,这取决于使用情况。但是,我不知道我怎么能
第一行和第二行的区别在于,第一行是不计算空闲列下的缓存和缓冲区,而第二行是。这是一个例子:
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
因此,您的问题的答案是:这两行可能相同(或至少彼此非常接近),但在真实系统上不太可能,因为它需要您释放/耗尽所有缓存。如果您愿意尝试,请尝试一些有关如何删除缓存或编写消耗所有可用 RAM 的程序的建议。