sysmerge IT

5 дек. 2016 г.

Использование оперативной памяти в linux

Для сбора статистика использования оперативной памяти процессами в linux я пользуюсь удобной командой

 # ps -eo size,pid,user,command | awk '{ hr=$1/1024 ; printf("%13.6f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' | sort  

Что же делает данная команда?
  • Вывод команды ps форматируем . Выводим память, pid, юзера и непосредственно команду
  • awk заводит переменную hr, в которую пересчитывает значение используемой памяти в Мегабайтах hr=$1/1024. После чего печатает значение hr с 6 цифрами после запятой.
  • { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" } - вывод 4го элемента в строке (это команда) и если в строке есть еще символы, то выводим их до самого конца строки.
  •  Сортируем по возрастанию
Таким вот нехитрым способом можно получить список приложений и потребляемый им объем оперативной памяти.