Привет.
Через команду free -m мы получаем мегабайты. Необходимо округлить их до гигабайтов. Примеры:
1876 -> 2 GB
7984 -> 8 GB
3952 -> 4 GB
3951 -> 4 GB
8001 -> 8 GB
16047 -> 16 GB
32175 -> 32 GB
257825 -> 256 GB
Как это сделать корректно на python?
Если что, просто разделить и округлить нельзя:
>>> 1876/1024
1.8320312 -- OK, округляем до двух
>>> 257825/1024
251.7822265625 -- надо округлить до 256, а не до 252.
upd: P.S. dmidecode и другие варианты использовать нельзя. Заменять вывод free -m на что-то другое тоже.
Почему? Потому что я использую grains в salt-stack. И вводить свои грейнсы нежелательно.