当前位置: 首页 > 科技观察

Linux下如何查看CPU、内存、swap分区的使用率?

时间:2023-03-12 16:55:54 科技观察

在Linux下有很多命令和选项可以用来查看内存使用情况,但是我没有看到更多关于内存使用情况的信息。大多数情况下我们只想看内存使用情况,而不考虑百分比是多少。如果您想了解这些信息,那么阅读本文就对了。我们将在这里详细帮助您解决这个问题。本教程将帮助您在Linux服务器上频繁使用高内存时确定内存使用情况。同时,如果使用free-m或free-g,占用说明不是很清楚。这些格式化命令是Linux高级命令。它将对Linux专家和中级Linux用户非常有用。方法一:Linux下如何查看内存使用情况?我们可以使用以下命令的组合来实现这一点。在此方法中,我们结合使用free和awk命令来获取内存使用情况。如果您正在寻找与内存相关的其他文章,您可以导航至以下链接。这些文章有free命令、smem命令、ps_mem命令、vmstat命令以及各种查看物理内存大小的方法。要获取不带百分号的内存使用情况:$free-t|awk'NR==2{print"当前内存利用率为:"$3/$2*100}'或$free-t|awk'FNR==2{print"CurrentMemoryUtilizationis:"$3/$2*100}'CurrentMemoryUtilizationis:20.4194要获取不带百分号的交换分区占用率:$free-t|awk'NR==3{print"CurrentSwapUtilizationis:"$3/$2*100}'or$free-t|awk'FNR==3{print"CurrentSwapUtilizationis:"$3/$2*100}'CurrentSwapUtilizationis:0得到包含的百分号内存使用有两位小数:$free-t|awk'NR==2{printf("CurrentMemoryUtilizationis:%.2f%"),$3/$2*100}'或$free-t|awk'FNR==2{printf("CurrentMemoryUtilizationis:%.2f%"),$3/$2*100}'CurrentMemoryUtilizationis:20.42%得到包含百分号的swap分区占用率,保留两个小数位Rate:$free-t|awk'NR==3{printf("CurrentSwapUtilizationis:%.2f%"),$3/$2*100}'或$free-t|awk'FNR==3{printf("CurrentSwapUtilizationis:%.2f%"),$3/$2*100}'CurrentSwapUtilizationis:0.00%如果您正在寻找有关交换分区的其他文章,您可以导航到以下链接这些链接有使用LVM(逻辑卷管理)创建和扩展交换分区、创建或扩展交换分区的多种方式和创建/多种方式删除和挂载交换分区文件。输入free命令会更好解释:$freetotalusedfreesharedbuff/cacheavailableMem:15867373098681189226910640Swap:17454017454Total:33322373027322具体如下:free:是Linux中使用的标准命令检查内存用法。awk:是专门用于文本数据处理的强大命令。FNR==2:此命令给出每个输入文件中的行数。它基本上挑选出给定的行(为此它选择行号2)NR==2:此命令给出处理的总行数。它基本上过滤给定的行(为此,它选择行号2)$3/$2*100:此命令将第3列除以第2列,并将结果乘以100。printf:此命令用于格式化和打印数据。%.2f%:默认打印小数点后6位的浮点数。使用以下格式来限制小数位。方法二:Linux下如何查看内存使用情况?我们可以使用以下命令的组合来实现这一点。在这种方法中,我们结合使用free、grep和awk命令来获取内存使用情况。要获取不带百分比符号的内存使用情况:$free-t|grep内存|awk'{print"CurrentMemoryUtilizationis:"$3/$2*100}'CurrentMemoryUtilizationis:20.4228要获取不带百分比符号的内存使用情况Swap分区占用:$free-t|grep交换|awk'{print"CurrentSwapUtilizationis:"$3/$2*100}'CurrentSwapUtilizationis:0获取包括百分比符号和两位小数的内存使用率Rate:$free-t|grep内存|awk'{printf("CurrentMemoryUtilizationis:%.2f%"),$3/$2*100}'CurrentMemoryUtilizationis:20.43%Swapspaceoccupancyindecimalplaces:$free-t|grep交换|awk'{printf("CurrentSwapUtilizationis:%.2f%"),$3/$2*100}'CurrentSwapUtilizationis:0.00%方法一:Linux下如何查看CPU占用率?我们可以使用以下命令的组合来实现这一点。在此方法中,我们结合使用top、print和awk命令来获取CPU使用率。如果您正在寻找其他与CPU相关的文章,您可以导航至以下链接。这些文章涵盖了top命令、htop命令、atop命令和Glances命令。如果输出显示多个CPU,则需要使用以下方法。$顶部-b-n1|grep^%Cpu%Cpu0:5.3us,0.0sy,0.0ni,94.7id,0.0wa,0.0hi,0.0si,0.0st%Cpu1:0.0us,0.0sy,0.0ni,100.0id,0.0wa,0.0hi,0.0si,0.0st%Cpu2:0.0us,0.0sy,0.0ni,94.7id,0.0wa,0.0hi,5.3si,0.0st%Cpu3:5.3us,0.0sy,0.0ni,94.7id,0.0wa,0.0hi,0.0si,0.0st%Cpu4:10.5us,15.8sy,0.0ni,73.7id,0.0wa,0.0hi,0.0si,0.0st%Cpu5:0.0us,5.0sy,0.0ni,95.0id,0.0wa,0.0hi,0.0si,0.0st%Cpu6:5.3us,0.0sy,0.0ni,94.7id,0.0wa,0.0hi,0.0si,0.0st%Cpu7:5.3us,0.0sy,0.0ni,94.7id,0.0wa,0.0hi,0.0si,0.0st要获取不带百分比符号的CPU使用率:$top-b-n1|grep^%Cpu|awk'{cpu+=$9}END{print"CurrentCPUUtilizationis:"100-cpu/NR}'CurrentCPUUtilizationis:21.05要使用百分比符号和两位小数来获取CPU使用率:$top-b-n1|grep^%Cpu|awk'{cpu+=$9}END{printf("当前CPU利用率为:%.2f%"),100-cpu/NR}'CcurrentCPUUtilizationis:14.81%方法二:Linux下如何查看CPU占用率?我们可以使用以下命令的组合来实现这一点。在此方法中,我们结合使用top、print/printf和awk命令来获取CPU使用率。如果所有CPU一起显示在一个输出中,则需要使用以下方法。$顶部-b-n1|grep^%Cpu%Cpu(s):15.3us,7.2sy,0.8ni,69.0id,6.7wa,0.0hi,1.0si,0.0st要获取不带百分比符号的CPU使用率:$top-b-n1|grep^%Cpu|awk'{print"CurrentCPUUtilizationis:"100-$8}'CurrentCPUUtilizationis:5.6要获取包括百分比符号和两位小数的CPU使用率:$top-b-n1|grep^%Cpu|awk'{printf("CurrentCPUUtilizationis:%.2f%"),100-$8}'CurrentCPUUtilizationis:5.40%以下是一些细节:top:YesLinux系统。-b:选项允许top命令切换到批处理模式。当您从本地系统运行top命令到远程系统时,这将非常有用。-n1:迭代次数。^%Cpu:过滤以%CPU开头的行。awk:是专门用于文本数据处理的强大命令。cpu+=$9:对于每一行,将第9列添加到变量cpu。printf:该命令用于格式化和打印数据。%.2f%:默认打印小数点后6位的浮点数。使用以下格式限制小数位数。100-cpu/NR:最后打印出平均CPU利用率,用100减去再除以行数。