Команда free

Thank you for reading this post, don't forget to subscribe!

Если вы хоти­те узнать подроб­ную инфор­ма­цию об исполь­зо­ва­нии памя­ти в систе­ме Linux, коман­да free – это про­стая ути­ли­та, кото­рая поз­во­ля­ет лег­ко нахо­дить резуль­та­ты в реаль­ном вре­ме­ни для раз­лич­ных вари­ан­тов использования.

 

Объясняя вывод команды Free в Linux

Исполь­зо­вать коман­ду Free в Linux доволь­но про­сто. Вот син­так­сис для команды:

free [options]

 

При­мер выво­да для коман­ды free может выгля­деть сле­ду­ю­щим образом:

 

Коман­да free без пара­мет­ров воз­вра­ща­ет резуль­та­ты для  ‘total’, ‘used’, and ‘free’ объ­е­ма памя­ти в вашей систе­ме бла­го­да­ря досту­пу к инфор­ма­ции из ядра Linux. Она так­же отоб­ра­жа­ет кате­го­рии для ‘shared’, ‘buff/cache’, и ‘available’.

Что­бы избе­жать неко­то­рой пута­ни­цы, давай­те уточ­ним, что озна­ча­ют эти термины.

  • Total. Эта циф­ра пред­став­ля­ет всю суще­ству­ю­щую память.
  • Used вычис­ле­ние обще­го зна­че­ния опе­ра­тив­ной памя­ти систе­мы за выче­том выде­лен­ной сво­бод­ной, раз­де­ля­е­мой, буфер­ной и кэш-памяти.
  • Free – это память, кото­рая не исполь­зу­ет­ся ни для каких целей.
  • Shared, Buffer, и Cache иден­ти­фи­ци­ру­ют память, исполь­зу­е­мую для нужд ядра / опе­ра­ци­он­ной систе­мы. Буфер и кеш скла­ды­ва­ют­ся вме­сте, а сум­ма ука­зы­ва­ет­ся в раз­де­ле «buff/cache».
  • Available память появ­ля­ет­ся в более новых вер­си­ях free и пред­на­зна­че­на для того, что­бы дать конеч­но­му поль­зо­ва­те­лю оцен­ку того, сколь­ко ресур­сов памя­ти все еще откры­то для использования.

Эти уточ­не­ния важ­ны. Непра­виль­ное при­сво­е­ние зна­че­ния тер­ми­нам «сво­бод­ная или исполь­зу­е­мая память» может при­ве­сти к непра­виль­но­му пони­ма­нию исполь­зо­ва­ния памя­ти вашей системой.

Это может при­ве­сти к тому, что неопыт­ный поль­зо­ва­тель будет лож­но пола­гать, что его систе­ма нуж­да­ет­ся в обнов­ле­нии с уве­ли­че­ни­ем ОЗУ. Обра­ти­те вни­ма­ние, что в преды­ду­щих вер­си­ях не было отоб­ра­же­ния доступ­ной памя­ти. Поль­зо­ва­те­ли могут оши­боч­но пола­гать, что из-за высо­ко­го исполь­зо­ва­ния памя­ти их аппа­рат­ное обес­пе­че­ние недо­ста­точ­но мощ­ное. Пред­по­ла­га­ет­ся, что доступ­ная вклад­ка была созда­на, что­бы помочь ком­пен­си­ро­вать это рас­про­стра­нен­ное недоразумение.

Опе­ра­ци­он­ная систе­ма Linux исполь­зу­ет кэши­ро­ва­ние для повы­ше­ния про­из­во­ди­тель­но­сти. В общих чер­тах это озна­ча­ет, что опре­де­лен­ный объ­ем памя­ти отво­дит­ся для исполь­зо­ва­ния до того, как он пона­до­бит­ся, что­бы он мог обра­ба­ты­вать­ся быст­рее. Это стан­дарт­ный про­цесс, и вам не о чем бес­по­ко­ить­ся, если зна­че­ния не кажут­ся очень необыч­ны­ми для ваше­го теку­ще­го использования.

Оцен­ка «доступ­ной» памя­ти, веро­ят­но, доста­точ­на для того, кто про­сто хочет знать, как их систе­ма реа­ги­ру­ет на опре­де­лен­ные при­ло­же­ния. Если вы не може­те уви­деть это поле, вам может потре­бо­вать­ся обно­вить ее до послед­ней вер­сии. Вы може­те про­ве­рить теку­щую вер­сию, запу­стив «free -V». Наша вер­сия 3.3.15 име­ет «free» в сво­ем выводе.

 

Настройка вывода команды free

Вывод по умол­ча­нию отоб­ра­жа­ет инфор­ма­цию в кило­бай­тах, но есть вари­ан­ты для отоб­ра­же­ния в раз­ных фор­ма­тах, если вы пред­по­чи­та­е­те. Запуск справ­ки (free -help) отоб­ра­жа­ет все воз­мож­ные вари­ан­ты, кото­рые вы може­те добавить.

На наш взгляд, наи­бо­лее полез­ная опция здесь -h, кото­рая пока­зы­ва­ет вывод коман­ды free в удо­бо­чи­та­е­мом формате.

 

Есть дру­гие вари­ан­ты. Они пока­зы­ва­ют ту же самую запро­шен­ную инфор­ма­цию с неко­то­ры­ми основ­ны­ми мате­ма­ти­че­ски­ми пре­об­ра­зо­ва­ни­я­ми. Мы дума­ем, что удо­бо­чи­та­е­мый вари­ант (free -h) явля­ет­ся одним из наи­бо­лее эффек­тив­ных для обыч­но­го пользователя.

 

Автоматизируйте команду free и запускайте ее непрерывно или периодически

Еще одна отлич­ная осо­бен­ность – воз­мож­ность авто­ма­ти­зи­ро­вать коман­ду. Есть два вари­ан­та, кото­рые помо­га­ют нам настро­ить этот инструмент:

  • Есть пара­метр ‘-s’, кото­рая запус­ка­ет коман­ду free в тече­ние задан­но­го интер­ва­ла секунд, пока поль­зо­ва­тель не закро­ет про­грам­му (^ + C).
  • Суще­ству­ет так­же «-c», кото­рый мож­но исполь­зо­вать отдель­но или в соче­та­нии с пара­мет­ром секунд. Если вы вве­де­те толь­ко «-c» и целое чис­ло (n), коман­да будет запус­кать­ся n раз. По умол­ча­нию исполь­зу­ют­ся интер­ва­лы в одну секунду.

Допу­стим, вы хоти­те открыть серию при­ло­же­ний и посмот­реть, как вли­я­ет ваша память. Для тесто­во­го выво­да мы будем исполь­зо­вать чита­е­мый чело­ве­ком фор­мат, исполь­зуя сте­пе­ни 1000 (Gb) вме­сто 1024 (GiB). Мы соби­ра­ем­ся запи­сать в тече­ние 20 секунд, что­бы про­ана­ли­зи­ро­вать воз­дей­ствие. Мы соби­ра­ем дан­ные каж­дые 5 секунд, и будем делать это за 4 цик­ла. Вот этот при­мер, отфор­ма­ти­ро­ван­ный для команд­ной стро­ки и ее вывода:

 

Мы подо­жда­ли несколь­ко секунд, а затем откры­ли несколь­ко вкла­док бра­у­зе­ра и полу­чил доступ к неко­то­рым заклад­кам. Стресс этих видов дея­тель­но­сти отме­чен коле­ба­ни­я­ми объ­е­ма про­из­вод­ства. Обра­ти­те вни­ма­ние, что эффект будет более выра­жен­ным при исполь­зо­ва­нии выход­но­го фор­ма­та с мень­шим округ­ле­ни­ем. В наших чисто демон­стра­ци­он­ных целях это не нужно.

Если вы хоти­те посто­ян­но отсле­жи­вать исполь­зо­ва­ние памя­ти коман­дой free, но не хоти­те, что­бы ее вывод загро­мож­дал экран, вы може­те исполь­зо­вать коман­ду watch вме­сте с коман­дой free.

Это пока­жет вам толь­ко один вывод для коман­ды free, но этот вывод будет изме­нять­ся через регу­ляр­ные про­ме­жут­ки времени.

 

Заключение

В этой ста­тье пока­за­но, как начать исполь­зо­вать коман­ду «free» в Linux. Наде­юсь, вы най­де­те эту ста­тью полез­ной и про­стой для пони­ма­ния. «free» может исполь­зо­вать­ся для ана­ли­за исполь­зо­ва­ния систем­ной памя­ти и может быть изменbyf с помо­щью раз­лич­ных опций для точ­ной настрой­ки выво­да для ваших нужд.