Espruino:Справочник по API/Класс process/memory(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[https://www.espruino.com/Reference#l_process_memory www.espruino.com - process.memory()]</ref>=
=Функция process.memory()<ref>[https://www.espruino.com/Reference#l_process_memory www.espruino.com - process.memory()]</ref>=


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript" enclose="div">
 
process.memory()
</syntaxhighlight>
</syntaxhighlight>


Строка 17: Строка 17:
==Возвращаемое значение==
==Возвращаемое значение==


Информацию об используемой памяти.


==Описание==


==Описание==
Запускает сеанс сборки мусора и возвращает объект с информацией об используемой памяти:
* '''free''' – память, свободная для использования (в блоках)
* '''usage''' – используемая память (в блоках)
* '''total''' – общая память (в блоках)
* '''history''' – память, используемая для истории команд. Если памяти мало, эта информация удаляется. Обратите внимание, этот эта цифра '''НЕ ВХОДИТ''' в значение в free
* '''gc''' – память, очищенная во время этого сеанса сборки мусора
* '''gctime''' – время, которое ушло на этот сеанс сборки мусора (в миллисекундах)
* '''blocksize''' – размер блока (переменная) в байтах
* '''stackEndAddress''' – (для ARM) адрес (его можно использовать в функциях типа peek/poke и т.д.) КОНЦА стека. Стек растет сверху вниз, так что его можно использовать только в том случае, если у вас мало рекурсий выше
* '''flash_start''' – (для ARM) адрес начала flash-памяти (обычно '''0x8000000''')
* '''flash_binary_end''' – (для ARM) адрес flash-памяти, где кончается прошивка [[Espruino]]
* '''flash_code_start''' – (для ARM) адрес flash-памяти, где находятся страницы, хранящие любой код, который был сохранен с помощью [https://www.espruino.com/Reference#l__global_save save()]
* '''flash_length''' – (для ARM) объем flash-памяти, который занимает прошивка (в байтах). Примечание: У некоторых STM32-чипов на самом деле больше памяти, чем рекламируется


Единицы измерения памяти заданы в «блоках», каждый из которых составляет примерно 16 байт (зависит от используемого устройства). В принципе, размер блока можно всегда посмотреть в поле blocksize. Более подробно читайте в [http://www.espruino.com/Performance этой статье].


'''Примечание:''' Чтобы найти свободные участки flash-памяти, используйте require('Flash').getFree().


== Примеры ==
== Примеры ==

Версия от 11:50, 21 февраля 2021

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция process.memory()[1]

Синтаксис

process.memory()

Параметры

Возвращаемое значение

Информацию об используемой памяти.

Описание

Запускает сеанс сборки мусора и возвращает объект с информацией об используемой памяти:

  • free – память, свободная для использования (в блоках)
  • usage – используемая память (в блоках)
  • total – общая память (в блоках)
  • history – память, используемая для истории команд. Если памяти мало, эта информация удаляется. Обратите внимание, этот эта цифра НЕ ВХОДИТ в значение в free
  • gc – память, очищенная во время этого сеанса сборки мусора
  • gctime – время, которое ушло на этот сеанс сборки мусора (в миллисекундах)
  • blocksize – размер блока (переменная) в байтах
  • stackEndAddress – (для ARM) адрес (его можно использовать в функциях типа peek/poke и т.д.) КОНЦА стека. Стек растет сверху вниз, так что его можно использовать только в том случае, если у вас мало рекурсий выше
  • flash_start – (для ARM) адрес начала flash-памяти (обычно 0x8000000)
  • flash_binary_end – (для ARM) адрес flash-памяти, где кончается прошивка Espruino
  • flash_code_start – (для ARM) адрес flash-памяти, где находятся страницы, хранящие любой код, который был сохранен с помощью save()
  • flash_length – (для ARM) объем flash-памяти, который занимает прошивка (в байтах). Примечание: У некоторых STM32-чипов на самом деле больше памяти, чем рекламируется

Единицы измерения памяти заданы в «блоках», каждый из которых составляет примерно 16 байт (зависит от используемого устройства). В принципе, размер блока можно всегда посмотреть в поле blocksize. Более подробно читайте в этой статье.

Примечание: Чтобы найти свободные участки flash-памяти, используйте require('Flash').getFree().

Примеры

См.также

Внешние ссылки