我知道如何获取系统中的总内存:
$ free -lm
total used free shared
Mem: 3008 2495 513 57
我知道如何在Nginx中获取工作进程的主内存消耗(RSS):
$ ps -C nginx -O rss
PID RSS S TTY TIME COMMAND
1564 1336 S ? 00:00:00 nginx: master process /usr/sbin/nginx
1565 1756 S ? 00:00:00 nginx: worker process
1566 1756 S ? 00:00:00 nginx: worker process
1567 1756 S ? 00:00:00 nginx: worker process
1568 1756 S ? 00:00:00 nginx: worker process
现在确定在不诉诸交换的情况下我的系统可以使用多少个工作进程:
echo $((3008 * 1024))
3080192
$ echo $((3080192 / 1756))
1754
我的服务器可以处理1754个Nginx工人,而无需进行交换。但是,如果我可以在上面执行此多步骤过程并将其设置为可以从命令行执行的一行,那将是很好的。
我的问题是我不知道如何从命令行的free命令中提取“ 3008”。我该如何解决?
我的问题是我不知道如何从命令行的free命令中提取“ 3008”
鉴于此输出:
free -lm
total used free shared buffers cached
Mem: 3757 1765 1991 138 122 766
Low: 3757 1765 1991
High: 0 0 0
-/+ buffers/cache: 876 2880
Swap: 7772 0 7772
尝试这个:
free -lm | grep '^Mem' | awk '{ print $2 }'
3757
它将返回行total
中的Mem:
列。就我而言3757
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句