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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 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">
 
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 этой статье].


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


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


Эта функция используется в следующих статьях документации [[Espruino]]:
* [https://www.espruino.com/STM32F1Flash#line=13,24,27 Модуль для чтения flash-памяти чипа STM32F1]
* [https://www.espruino.com/Assembler#line=139 Ассемблерная вставка]
* [https://www.espruino.com/ESP8266_Flashing#line=55,111 Запись прошивки и использование ESP8266 вместе с Espruino]


=См.также=


=См.также=


{{ads}}


=Внешние ссылки=
=Внешние ссылки=
Строка 35: Строка 54:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 22:27, 22 июня 2023

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


Функция 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().

Примеры

Эта функция используется в следующих статьях документации Espruino:

См.также

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