Linux“压力”工具

Linux“压力”工具

我见过使用以下命令使用 90% 可用系统内存的技巧之一:

stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1.

到目前为止我所理解的是: /proc/meminfo 正在返回可用的系统 RAM。

谁能帮我理解这个命令的作用吗?

答案1

/proc/meminfo返回各种内存信息,包括:

MemTotal:        3996276 kB
MemFree:         1052516 kB
Buffers:          183884 kB
Cached:           949892 kB
SwapCached:            0 kB

典型的行由三列组成:

  • $1 = MemFree:
  • 2美元=1052516
  • $3 = 千字节

awk命令正在执行以下操作:

  1. 过滤特定条目MemFree'/MemFree/'
  2. 计算 90% 的MemFree值:$2 * 0.9
  3. 打印计算值,后跟换行符:printf "%d\n"

该命令的结果$(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)将返回一个类似的值933357(基于上面的 MemFree 值)。

stress最后,指示该命令以千字节为单位分配该内存量(请注意k后面的$(..))。

有关stress参数的更多信息,请阅读http://linux.die.net/man/1/stress

相关内容