Spec-Zone.ru › Octave 7

36.11 Информация о системе

: computer () ¶
: comp = computer () ¶
: [comp, maxsize] = computer () ¶
: [comp, maxsize, endian] = computer () ¶
: arch = computer ("arch") ¶

Выводит или возвращает строку вида cpu-vendor-os, идентифицирующую тип компьютера, на котором работает Octave.

При вызове с аргументом результата вместо вывода возвращается значение. Например:

computer ()
   -| x86_64-pc-linux-gnu

mycomp = computer ()
   ⇒ mycomp = x86_64-pc-linux-gnu

Если запрашивается два аргумента результата, также возвращается максимальное число элементов для массива. Это зависит от того, скомпилирован ли Octave с 32-разрядными или 64-разрядными индексными векторами.

Если запрашивается три аргумента результата, также возвращается порядок байтов текущей системы в виде символа ("B" для big-endian или "L" для little-endian).

Если указан аргумент "arch", возвращается строка, указывающая архитектуру компьютера, на котором работает Octave.

Результаты могут отличаться, если Octave был вызван с опцией –traditional.

См. также: isunix, ismac, ispc.

: [uts, err, msg] = uname () ¶

Возвращает информацию о системе в структуре.

Например:

uname ()
   ⇒ {
         sysname = x86_64
         nodename = segfault
         release = 2.6.15-1-amd64-k8-smp
         version = Linux
         machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006
      }

При успешном выполнении, err равен 0, а msg — пустой строке. В противном случае err отличен от нуля, а msg содержит сообщение об ошибке, зависящее от системы.

: nproc () ¶
: nproc (query) ¶

Возвращает текущее количество доступных процессоров.

Если вызван с необязательным аргументом query, меняет способ подсчета процессоров следующим образом:

all

общее количество процессоров.

current

количество процессоров, доступных текущему процессу.

overridable

то же, что и current, но переопределяемое через переменную среды OMP_NUM_THREADS.

: ispc () ¶

Возвращает true, если Octave работает на системе Windows, и false в противном случае.

См. также: isunix, ismac.

: isunix () ¶

Возвращает true, если Octave работает на системе Unix-подобной системе, и false в противном случае.

См. также: ismac, ispc.

: ismac () ¶

Возвращает true, если Octave работает на системе Mac OS X, и false в противном случае.

См. также: isunix, ispc.

: isieee () ¶

Возвращает true, если компьютер соответствует стандарту IEEE для вычислений с плавающей точкой.

Никаких реальных проверок не выполняется.

: isdeployed () ¶

Возвращает true, если текущая программа скомпилирована и запущена отдельно от интерпретатора Octave, и false, если она запущена в интерпретаторе Octave.

В настоящее время эта функция всегда возвращает false в Octave.

: isstudent () ¶

Возвращает true, если выполняется в студенческой версии MATLAB.

isstudent всегда возвращает false в Octave.

См. также: false.

: OCTAVE_HOME () ¶

Возвращает имя каталога установки Octave верхнего уровня. OCTAVE_HOME соответствует конфигурационной переменной prefix.

См. также: EXEC_PATH, IMAGE_PATH, OCTAVE_EXEC_HOME.

: OCTAVE_EXEC_HOME () ¶

Возвращает имя каталога установки Octave верхнего уровня для файлов, зависящих от архитектуры. Если не указано отдельно, значение совпадает с OCTAVE_HOME. OCTAVE_EXEC_HOME соответствует конфигурационной переменной exec_prefix.

См. также: EXEC_PATH, IMAGE_PATH, OCTAVE_HOME.

: matlabroot () ¶

Возвращает имя каталога установки Octave верхнего уровня.

Это псевдоним для функции OCTAVE_HOME для совместимости.

См. также: OCTAVE_HOME.

: cfg_dir = user_config_dir () ¶

Возвращает (специфичный для платформы) каталог для пользовательской конфигурации.

См. также: user_data_dir.

: data_dir = user_data_dir () ¶

Возвращает (специфичный для платформы) каталог для пользовательских данных.

См. также: user_config_dir.

: OCTAVE_VERSION () ¶

Возвращает номер версии Octave в виде строки.

См. также: ver, version.

: v = version () ¶
: [v, d] = version () ¶
: v = version (feature) ¶

Получение информации о версии Octave.

Если вызывается без входного аргумента, первый возвращаемый параметр v — номер версии Octave в виде строки. Второй возвращаемый параметр d содержит дату релиза в виде строки.

Следующие опции могут быть переданы для feature:

"-date"

для даты выпуска текущей сборки,

"-description"

для описания выпуска (всегда пустая строка),

"-release"

для имени текущей сборки (всегда пустая строка),

"-java"

для информации о версии Java VM,

"-fftw"

для информации о версии связанной библиотеки FFTW,

"-blas"

для информации о версии связанной библиотеки BLAS,

"-lapack"

для информации о версии связанной библиотеки LAPACK.

"-hgid"

идентификатор mercurial используемых исходников для сборки Octave.

Информация, возвращенная для опций "-blas" и "-lapack", может быть ненадежной. Она может указывать на библиотеку, которая была связана при сборке Octave, а не на текущую используемую библиотеку.

Вариант без входных и выходных аргументов — псевдоним для функции OCTAVE_VERSION для совместимости.

См. также: OCTAVE_VERSION, ver.

: ver ¶
: ver Octave ¶
: ver package ¶
: v = ver (…) ¶

Отобразить заголовок, содержащий текущую версию Octave, строку лицензии и операционную систему. За заголовком следует список установленных пакетов, их версий и каталогов установки.

Используйте имя пакета package или Octave для запроса определённого компонента.

При вызове с аргументом возврата, вернёт вектор структур, описывающих Octave и каждый установленный пакет. Каждая структура включает следующие поля.

Name

Имя пакета.

Version

Версия пакета.

Release

Релиз пакета (в настоящее время не используется, по умолчанию []).

Date

Дата выпуска версии.

См. также: version, usejava, pkg.

: compare_versions (v1, v2, operator) ¶

Сравнить две строки версий, используя заданный operator.

Эта функция предполагает, что версии v1 и v2 являются произвольными длинными строками, состоящими из числовых и точечных символов, за которыми может следовать произвольная строка (например, "1.2.3", "0.3", "0.1.2+", или "1.2.3.4-test1").

Версия сначала разбивается на числовые и символьные части, а затем части выравниваются по длине (т. е., "1.1" будет выровнена по длине с "1.1.1", а символьные части строк выровнены нулями).

Оператор может быть любым логическим оператором из набора

  • "==" равно
  • "<" меньше
  • "<=" меньше или равно
  • ">" больше
  • ">=" больше или равно
  • "!=", "~=" не равно

Обратите внимание, что версия "1.1-test2" будет сравниваться как большая, чем "1.1-test10". Также, поскольку сначала сравнивается числовая часть, "a" сравнивается как меньше "1a", так как вторая строка начинается с числовой части, хотя double ("a") больше double ("1").

: verLessThan (package, version) ¶

Возвращает true, если установленная версия пакета меньше version.

package — имя пакета для проверки. Используйте "Octave" в качестве package для проверки версии самого Octave.

version — версия для сравнения. Версия — строка в формате, принятом compare_versions: произвольно длинная строка, состоящая из числовых и точечных символов, возможно, за которыми следует произвольная строка (например, "1.2.3", "0.3", "0.1.2+", или "1.2.3.4-test1").

Примеры:

tf = verLessThan ("Octave", "5")
⇒ tf = 0

tf = verLessThan ("io", "2.4.12")
⇒ ...

if (! verLessThan ("Octave", "5"))
  ## ... use new Octave 5 features ...
endif

См. также: compare_versions, version, ver, pkg.

: license ¶
: license inuse ¶
: license inuse feature ¶
: license ("inuse") ¶
: retval = license ("inuse") ¶
: retval = license ("test", feature) ¶
: retval = license ("checkout", feature) ¶
: [retval, errmsg] = license ("checkout", feature) ¶

Получить информацию о лицензии для Octave и пакетов Octave.

GNU Octave — это свободное программное обеспечение, распространяемое под лицензией GNU General Public License (GPL), и менеджер лицензий не имеет смысла. Эта функция предоставляется только для совместимости с MATLAB.

При вызове без дополнительных аргументов, возвращает лицензию Octave, в противном случае первый аргумент определяет режим работы и должен быть одной из следующих строк: inuse, test, и checkout. Необязательный аргумент feature может быть "octave" (ядро) или пакетом Octave.

"inuse"

Возвращает список загруженных функций, т. е., octave и список загруженных пакетов. Если запрос на вывод, возвращает массив структур с полями "feature", и "user".

"test"

Возвращает true, если указанная feature установлена, false в противном случае.

Необязательный третий аргумент "enable" или "disable" принимается, но игнорируется.

"checkout"

Возвращает true, если указанная feature установлена, false в противном случае. Необязательный второй вывод будет содержать сообщение об ошибке, если пакет не установлен.

См. также: pkg, ver, version.

: memory () ¶
: [userdata, systemdata] = memory () ¶

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

Если функция вызывается без аргументов вывода, отображается таблица с обзором текущего потребления памяти.

Аргумент вывода userdata — структура со следующими полями, содержащими данные для процесса Octave:

MaxPossibleArrayBytes

Максимальный размер массива для выделения. Имейте в виду, что это включает всю физическую память и своп-пространство. Выделение этого объёма памяти может привести к нестабильности системы, повреждению данных и/или повреждению файловой системы. Обратите внимание, что в зависимости от платформы (32-битные системы), наибольший смежный блок памяти может дополнительно ограничивать максимальный возможный выделяемый массив. Эта проверка в настоящее время не реализована.

MemAvailableAllArrays

Общий размер доступной памяти в байтах.

ram_available_all_arrays

Максимальный размер массива, который можно выделить в физической памяти (исключая своп-пространство). Обратите внимание, что в зависимости от платформы (32-битные системы), наибольший смежный блок памяти может дополнительно ограничивать максимальный возможный выделяемый массив. Эта проверка в настоящее время не реализована.

MemUsedMATLAB
mem_used_octave

Память (включая своп-пространство), в настоящее время используемая Octave в байтах.

ram_used_octave

Физическая память (исключая своп-пространство), в настоящее время используемая Octave в байтах.

Аргумент вывода systemdata — вложенная структура со следующими полями, содержащими информацию о памяти системы:

PhysicalMemory.Available

Доступная в настоящее время физическая память в байтах.

PhysicalMemory.Total

Общий объём физической памяти в байтах.

SystemMemory.Available

Доступная в настоящее время память (включая своп-пространство) в байтах.

SystemMemory.Total

Общий объём памяти (включая своп-пространство) в байтах.

VirtualAddressSpace.Available

В настоящее время доступное виртуальное адресное пространство в байтах.

VirtualAddressSpace.Total

Общий объём виртуального адресного пространства в байтах.

Пример #1: печать отформатированной таблицы использования памяти

memory ()
⇒
System    RAM: 3934008 KiB,  swap: 4087804 KiB
Octave    RAM:  170596 KiB,  virt: 1347944 KiB
Free      RAM: 1954940 KiB,  swap: 4087804 KiB
Available RAM: 2451948 KiB, total: 6042744 KiB

Пример #2: возврат структур с информацией об использовании памяти

[userdata, systemdata] = memory ()
⇒
 userdata =

   scalar structure containing the fields:

     MaxPossibleArrayBytes = 6.1622e+09
     MemAvailableAllArrays = 6.1622e+09
     ram_available_all_arrays = 2.4883e+09
     MemUsedMATLAB = 1.3825e+09
     mem_used_octave = 1.3825e+09
     ram_used_octave = 1.7824e+08

 systemdata =

   scalar structure containing the fields:

     PhysicalMemory =

       scalar structure containing the fields:

         Available = 2.4954e+09
         Total = 4.0284e+09

     SystemMemory =

       scalar structure containing the fields:

         Available = 6.6813e+09
         Total = 8.2143e+09

     VirtualAddressSpace =

       scalar structure containing the fields:

         Available = 2.8147e+14
         Total = 2.8147e+14

Примечание программиста: эта функция реализована только для Linux и Windows.

См. также: computer, getpid, getrusage, nproc, uname.

: getrusage () ¶

Возвращает структуру, содержащую статистические данные о текущем процессе Octave.

Не все поля доступны на всех системах. Если нет возможности получить статистику времени CPU, значения CPU time устанавливаются в ноль. Другие отсутствующие данные заменяются на NaN. Список возможных полей:

idrss

Размер данных, не используемых совместно.

inblock

Количество операций ввода блоками.

isrss

Размер стека, не используемого совместно.

ixrss

Размер общей памяти.

majflt

Количество основных страниц.

maxrss

Максимальный размер данных.

minflt

Количество второстепенных страниц.

msgrcv

Количество полученных сообщений.

msgsnd

Количество отправленных сообщений.

nivcsw

Количество непроизвольных переключений контекста.

nsignals

Количество полученных сигналов.

nswap

Количество операций обмена.

nvcsw

Количество добровольных переключений контекста.

oublock

Количество операций вывода блоками.

stime

Структура, содержащая время, затраченное системой на CPU. Структура содержит элементы sec (секунды) usec (микросекунды).

utime

Структура, содержащая время, затраченное пользователем на CPU. Структура содержит элементы sec (секунды) usec (микросекунды).

: value = winqueryreg (rootkey, subkey, valuename) ¶
: value = winqueryreg (rootkey, subkey) ¶
: names = winqueryreg ("name", rootkey, subkey) ¶

Запрос имен или значений из реестра Windows.

В Windows возвращает значение ключа реестра subkey из корневого ключа rootkey. Вы можете указать имя запрашиваемого значения реестра с помощью необязательного аргумента valuename. В противном случае, если вызов происходит с двумя аргументами или valuename пустое, возвращается значение по умолчанию для subkey. Если значение реестра типа "REG_DWORD", то value имеет тип int32. Если значение типа "REG_SZ" или "REG_EXPAND_SZ", возвращается строка.

Если первый аргумент равен "name", возвращается ячейный массив строк с именами значений в этом ключе.

Переменная rootkey должна быть строкой с допустимым идентификатором корневого ключа:

HKCR
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKCU
HKEY_CURRENT_USER
HKLM
HKEY_LOCAL_MACHINE
HKU
HKEY_USERS
HKEY_PERFORMANCE_DATA

Примеры:

Получить список имен значений в ключе 'HKCU\Environment':

valuenames = winqueryreg ("name", "HKEY_CURRENT_USER", ...
                          "Environment");

Для каждого valuenames, отобразить значение:

for k = 1:numel (valuenames)
  val = winqueryreg ("HKEY_CURRENT_USER", "Environment", ...
                     valuenames{k});
  str = sprintf ("%s = %s", valuenames{k}, num2str (val));
  disp (str);
endfor

На платформах, не являющихся Windows, эта функция завершается ошибкой.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/System-Information.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API