50. shell命令--free
功能说明
free 命令是 Linux 和类 Unix 系统中一个非常实用的命令,用于显示系统当前的内存使用情况,包括物理内存、交换空间(swap space)以及缓存(buffers/cache)的使用情况。这对于系统管理员和开发者监控和优化系统性能非常有帮助。
语法格式
free [options]
选项说明
-b:以字节为单位显示内存使用情况。
-k:以千字节(KB)为单位显示内存使用情况(默认值)。
-m:以兆字节(MB)为单位显示内存使用情况,这在大多数场景下提供了更易于理解的内存概览。
-g:以吉字节(GB)为单位显示内存使用情况,适用于内存较大的系统。
-h:以人类可读的格式(如KB、MB、GB)自动选择最合适的单位显示内存使用情况,这是最常用的选项之一,因为它能够直观地显示内存用量。
-s [delay]:每隔[delay]秒更新一次内存使用情况,直到被用户中断。这个选项非常适用于实时监控内存变化。
-t:显示物理内存总量信息,包括总内存、已用内存和空闲内存等。
-V:显示free`命令的版本信息。
实践操作
1. 默认显示
# 这将显示当前系统的内存使用情况,包括总内存、已用内存、空闲内存、
# 共享内存、缓存/缓冲区使用的内存,以及交换空间的使用情况。
free #以KB为单位
total used free shared buff/cache available
Mem: 2030168 104604 1792168 9732 133396 1765692
Swap: 1048572 0 1048572
第一部分Mem行解释:
# total:内存总数;
# used:已经使用的内存数;
# free:空闲的内存数;
# shared:当前已经废弃不用;
# buffers Buffer:缓存内存数;
# cached Page:缓存内存数。
关系:total = used + free
2. 以 MB 为单位显示
free -m #这将使输出更加简洁明了,特别是当系统的内存量较大时。
3. 实时监控内存使用情况
free -m -s 2 #这将每隔2秒刷新一次内存使用情况的显示,直到用户按下 Ctrl+C 中断。
free -ms 2
4. 以人类可读的格式显示
free -h #这是最推荐的显示方式之一,因为它会根据内存大小自动选择合适的单位(KB、MB、GB),使得输出结果更加直观易懂。
5. 显示物理内存总量详细信息
free -t #这个选项会在输出的顶部显示物理内存的总量、已用量和空闲量,对于需要快速了解系统内存概况的用户非常有用。
free -th
注意事项
free命令的输出通常包含几列关键信息,如total(总量)、used(已用)、free(空闲)、shared(共享)、buff/cache(缓存/缓冲区使用的内存)、available(可用内存,考虑了缓存和缓冲区的影响)以及针对交换空间的类似信息。了解这些信息对于评估系统性能、识别内存泄漏或进行内存优化至关重要。