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" для порядка от старшего байта к младшему или "L" для обратного порядка).

Если указан аргумент "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)

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

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

Если вызвана с необязательным аргументом 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.

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

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

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

Получает сведения о версии Octave.

При вызове без входного аргумента первое возвращаемое значение v содержит номер версии Octave в виде строки. Второе возвращаемое значение d содержит дату выпуска в виде строки.

Для feature можно указать следующие параметры:

"-date"

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

"-description"

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

"-release"

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

"-java"

сведения о версии виртуальной машины Java;

"-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.

: license
: license inuse
: license inuse feature
: license ("inuse")
: license_struct = license ("inuse")
: license_struct = license ("inuse", feature)
: status = license ("test", feature)
: status = license ("checkout", feature)
: [status, 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.

: 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–2026 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.4.0/System-Information.html

Spec-Zone.ru

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