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:
- total显示安装的总内存(MemTotal 和 SwapTotal,即存在于 /proc/meminfo 中)。
- used显示已用内存。
- free显示未使用的内存。
- shared显示 tmpfs 使用的内存(Shmen即存在于 /proc/meminfo 中,如果不可用则显示为零)。
- buffers显示内核缓冲区使用的内存。
- cached显示页面缓存和slabs 使用的内存(Cached 和Slab 在/proc/meminfo 中可用)。
- 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 命令的全部内容。