Spec-Zone.ru › Octave 9

Далее: Функции хэширования, Предыдущее: Функции базы данных групп, Вверх: Системные утилиты [Содержание][Индекс]

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 содержит сообщение об ошибке, зависящее от системы.

: n = nproc () ¶
: n = nproc (query) ¶

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

Возвращает количество логических процессоров. Для процессоров с технологией гиперпоточности это число больше, чем количество физических ядер.

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

all

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

current

процессоры, доступные текущему процессу.

overridable

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

: tf = ispc () ¶

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

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

: tf = isunix () ¶

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

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

: tf = ismac () ¶

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

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

: tf = isieee () ¶

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

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

: tf = isdeployed () ¶

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

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

: tf = isstudent () ¶

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

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

См. также: false.

: dir = OCTAVE_HOME () ¶

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

OCTAVE_HOME соответствует конфигурационной переменной prefix.

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

: dir = OCTAVE_EXEC_HOME () ¶

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

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

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

: dir = matlabroot () ¶

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

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

См. также: OCTAVE_HOME.

: cfg_dir = user_config_dir () ¶

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

См. также: user_data_dir.

: data_dir = user_data_dir () ¶

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

См. также: user_config_dir.

: verstr = OCTAVE_VERSION () ¶

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

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

END_OF_DOCUMENT_MARKER
: v = версия () ¶
: [v, d] = версия () ¶
: v = версия (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.

: tf = 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.0" при сравнении с "1.1.1"). Отдельно символьные части строк дополняются нулями.

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

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

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

: tf = 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.

: лицензия ¶
: лицензия inuse ¶
: лицензия inuse feature ¶
: лицензия ("inuse") ¶
: license_struct = лицензия ("inuse") ¶
: license_struct = лицензия ("inuse", feature) ¶
: status = лицензия ("test", feature) ¶
: status = лицензия ("checkout", feature) ¶
: [status, errmsg] = лицензия ("checkout", feature) ¶

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

GNU Octave — свободное программное обеспечение, распространяемое по лицензии GNU 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.

: procstats = getrusage () ¶

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

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

idrss

Размер неразделяемых данных.

inblock

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

isrss

Размер неразделяемого стека.

ixrss

Размер разделяемой памяти.

majflt

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

maxrss

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

minflt

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

msgrcv

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

msgsnd

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

nivcsw

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

nsignals

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

nswap

Количество обменов.

nvcsw

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

oublock

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

stime

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

utime

Структура, содержащая используемое пользователем время процессора. Структура имеет элементы 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–2023 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/v9.2.0/System-Information.html

Spec-Zone.ru

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