我用来free
获取某些服务器上的可用空间量。它的输出类似于:
$ free -m
total used free shared buffers cached
Mem: 374 366 8 0 58 98
-/+ buffers/cache: 209 165
Swap: 1906 120 1785
我到底有多少可用空间?
答案1
输出的第一行free
列出:
total
您的总物理内存(假设没有虚拟化)used
目前(任何事物)使用了多少free
其中有多少是完全免费的(根本没有使用)shared
tmpfs 使用的内存(大部分)(对于 Linux,内核 >= 2.6.32)buffers
内核缓冲区使用的内存cached
用于缓存的内存
最后两项,高速缓存和缓冲区,是未分配给特定用户进程的内存。它是内核为提高整体性能而保留的内存,但不是“应用程序”内存。这些区域将根据缓存、内存压力、应用程序 I/O 模式等方面的内核策略而增大或缩小。
由于这两列不是用户分配的内存,并且如果用户分配需要,区域可以缩小(实际上为零),因此它们在某种意义上是“免费的”——如果您的应用程序有内核可以释放的 RAM积极需要它。
这就是第二行告诉你的。它从列中删除缓冲区和高速缓存内存used
(这就是意思-
),并将+
它们添加到free
列中 ( )。 (会发生舍入问题。)
(最后一行显示交换空间的状态。)
答案2
没有交换,您的实际可用空间是 165。使用缓存,您有 8MB 可用空间。如果没有缓存,您还有 165MB 的可用空间。-/+
线路没有缓存。第一行是缓存。