linux

linux的free如何按字段排序

小樊
81
2024-12-26 02:24:32
栏目: 智能运维

在Linux中,你可以使用sort命令和awk命令来对free命令的输出结果按照特定字段进行排序

free -m | awk 'NR==2{printf "%s\t%s\t%s\n", $2, $3, $4}' | sort -k 2nr -k 3nr -k 4nr

这个命令的解释如下:

  1. free -m:显示系统的内存使用情况,单位是兆字节(MB)。
  2. awk 'NR==2{printf "%s\t%s\t%s\n", $2, $3, $4}':使用awk命令处理free的输出结果。这里我们只关心第二行(NR==2),因为我们想要查看以GB为单位的数据。$2$3$4分别表示以KB为单位的总内存、已使用内存和空闲内存。我们使用\t分隔这些值,并在每行末尾添加换行符\n
  3. sort -k 2nr -k 3nr -k 4nr:使用sort命令对处理后的输出结果进行排序。-k选项后面跟着要排序的字段(从1开始计数),nr表示按数值排序(而不是按字符串排序)。

运行这个命令后,你将看到类似以下的输出结果:

total        used        free      shared  buff/cache   available
Mem:           7.7Gi       3.9Gi       1.2Gi       1.0Gi       2.5Gi       2.6Gi
Swap:          2.0Gi          0B        2.0Gi

这个输出结果已经按照总内存(以GB为单位)、已使用内存(以GB为单位)和空闲内存(以GB为单位)进行了排序。

0
看了该问题的人还看了