📜  Linux 中的免费命令和示例

📅  最后修改于: 2022-05-13 01:57:27.818000             🧑  作者: Mango

Linux 中的免费命令和示例

在使用 LINUX 时,可能会出现这样一种情况,即您愿意安装一个新应用程序(体积很大)并且您希望了解系统上可用的可用内存量。在 LINUX 中,存在一个命令行实用程序,即free命令,它显示可用的可用空间总量以及系统中使用的内存量和交换内存量,以及内核使用的缓冲区。

这几乎就是免费命令为您所做的。
句法:

$free [OPTION]

OPTION : refers to the options 
compatible with free command.

由于 free 显示了与您的系统相关的内存的详细信息,它的语法不需要传递任何参数,而只需要您可以根据自己的意愿使用的选项。

使用免费命令

您可以将 free 命令用作:

// using free command
$free
             total       used       free     shared    buffers     cached
Mem:        509336     462216      47120          0      71408     215684
-/+ buffers/cache:     175124     334212
Swap:       915664      11928     903736

/*free command without any
option shows the used
and free space of swap 
and physical memory in KB */

如果不使用任何选项,则 free 命令会生成如上所示的列输出 where column:

  1. total显示安装的总内存(MemTotal 和 SwapTotal,存在于 /proc/meminfo 中)。
  2. used显示已用内存。
  3. free显示未使用的内存。
  4. shared显示 tmpfs 使用的内存(Shmen存在于 /proc/meminfo 中,如果不可用则显示为零)。
  5. buffers显示内核缓冲区使用的内存。
  6. cached显示页面缓存和slabs 使用的内存(Cached 和Slab 在/proc/meminfo 中可用)。
  7. buffers/cache显示缓冲区和缓存的总和。

自由命令选项

  • -b, – -bytes :以字节为单位显示内存。
  • -k, – -kilo :以千字节为单位显示内存量(默认)。
  • -m, – -mega :它以兆字节显示内存量。
  • -g, – -giga :它以千兆字节显示内存量。
  • – – tera :它以 TB 为单位显示内存量。
  • -h, – -human :它显示所有输出列自动缩放到最短的三位数字单位,并显示打印输出的单位。使用的单位是B (字节)、 K (千)、 M (兆)、 G (千兆)和T (兆)。
  • -c, – -count :显示输出c的次数,此选项实际上与-s选项一起使用。
  • -l, – -lohi :显示详细的低内存和高内存统计信息
  • -o, – -old :此选项禁用缓冲区调整行的显示。
  • -s, – -seconds :此选项允许您在s秒延迟后连续显示输出。实际上, usleep系统调用用于微秒级分辨率延迟时间。
  • -t, – -total :它在输出中添加一个额外的行,显示列总计。
  • – -help :显示帮助信息并退出。
  • -V, – -version :显示版本信息并退出。

使用带有选项的自由命令

1. 使用 -b :它只是以单位字节显示输出。

//using free with -b

$free -b
             total       used       free     shared    buffers     cached
Mem:     521560064  474198016   47362048          0   73826304  220983296
-/+ buffers/cache:  179388416  342171648
Swap:    937639936   12210176  925429760

/*everything now
displayed is in bytes */

2. 使用 -k :此选项以千字节为单位显示结果。

//using free with -k

$free -k
             total       used       free     shared    buffers     cached
Mem:        509336     463084      46252          0      72104     215804
-/+ buffers/cache:     175176     334160
Swap:       915664      11924     903740

/*no change in output
if compared to only free
command output cause this 
is the by default format
that free uses for the 
result */

3. 使用 -m :此选项以兆字节显示结果。

//using free with -m

$free -m
             total       used       free     shared    buffers     cached
Mem:           497        452         45          0         70        210
-/+ buffers/cache:        171        326
Swap:          894         11        882

/*everything now
displayed is in megabytes */

4.使用 -g :此选项以千兆字节显示结果。

//using free with -g

$free -g
             total       used       free     shared    buffers     cached
Mem:             0          0          0          0          0          0
-/+ buffers/cache:          0          0
Swap:            0          0          0

/*everything now
displayed is in gigabytes */

5. 使用 -t (total) :此选项显示一个附加行,其中包含总计、已使用和空闲列的总计。

//using free with -t

$free -t
             total       used       free     shared    buffers     cached
Mem:        509336     463332      46004          0      72256     215804
-/+ buffers/cache:     175272     334064
Swap:       915664      11924     903740
Total:     1425000     475256     949744

/*the line containing
total is added to the 
output when -t is used*/

6. 使用 -s 和 -o:此选项允许您在用户给定的设置时间间隔后显示 free 命令的输出。此选项需要传递一个数值,该数值被视为显示输出的秒数。

//using free with -s

$free -s 3 -c 3
             total       used       free     shared    buffers     cached
Mem:        509336     469604      39732          0      73260     216068
-/+ buffers/cache:     180276     329060
Swap:       915664      11924     903740

             total       used       free     shared    buffers     cached
Mem:        509336     468968      40368          0      73268     216060
-/+ buffers/cache:     179640     329696
Swap:       915664      11924     903740

             total       used       free     shared    buffers     cached
Mem:        509336     469092      40244          0      73272     216068
-/+ buffers/cache:     179752     329584

/*the above output will
be displayed (only 3 times)
after every 3 seconds */

现在,使用 -s 您只能指定时间间隔,但不能指定要显示输出的次数。为此, -c与 -s 一起使用,指定显示输出的次数。

7. 使用 -o :此选项使缓冲区/缓存行远离输出,如下所示。

//using free with -o

$free -o
              total       used       free     shared    buffers     cached
Mem:        509336     463588      45748          0      72376     215856
Swap:       915664      11924     903740

/*now the output
doesn't have the
buffer line in it */

这就是 free 命令的全部内容。