eighty_percent_ram_mb=$(free -m | awk 'NR==2{printf "%d", $2*0.8 }')
Deve fazer o trabalho:)
Aqui está um script bash que está calculando 80% do total de RAM disponível como um inteiro em uma caixa do Linux:
server_ram_mb=$(awk '/MemTotal/ {printf( "%.2f\n", $2 / 1024)}' /proc/meminfo)
echo "($server_ram_mb * 0.8)/1" | bc > /tmp/output
eighty_percent_ram_mb=$(cat /tmp/output)
No entanto, há algumas coisas que não gosto disso:
bc
, que não é instalado por padrão em todas as distros do Linux Como posso reescrever / simplificar isso para evitar esses problemas?
eighty_percent_ram_mb=$(free -m | awk 'NR==2{printf "%d", $2*0.8 }')
Deve fazer o trabalho:)
Alguém acabou de twittar isso para mim!
eighty_percent_ram_mb=$(free -m | awk 'NR==2{printf "%.0f\n", $2*0.8 }')
Eu tentei e funcionou.