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.
- : [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 в противном случае.
- : tf = isunix () ¶
-
Возвращает true, если Octave работает на Unix-подобной системе, и false в противном случае.
- : tf = ismac () ¶
-
Возвращает true, если Octave работает на системе Mac OS X, и false в противном случае.
- : 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 в виде строки.
- : 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"ID из 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Дата выпуска версии.
- : 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. Необязательный второй выходной параметр содержит сообщение об ошибке, если пакет не установлен.
- : memory () ¶
- : [userdata, systemdata] = memory () ¶
-
Отображает или возвращает информацию об использовании памяти Octave.
Если функция вызывается без аргументов, отображается таблица с обзором текущего потребления памяти.
Аргумент userdata — структура со следующими полями, содержащими данные для процесса Octave:
MaxPossibleArrayBytes-
Максимальный размер массива для выделения. Обратите внимание, что это включает всю физическую память и память подкачки. Выделение такого объёма памяти может привести к нестабильности системы, повреждению данных и/или повреждению файловой системы. Обратите внимание, что в зависимости от платформы (32-битные системы) максимальный размер непрерывного блока памяти может дополнительно ограничить максимальный возможный выделяемый массив. Эта проверка в настоящее время не реализована.
MemAvailableAllArrays-
Общий объём доступной памяти в байтах.
ram_available_all_arrays-
Максимальный размер массива, который может быть выделен в физической памяти (исключая память подкачки). Обратите внимание, что в зависимости от платформы (32-битные системы) максимальный размер непрерывного блока памяти может дополнительно ограничить максимальный возможный выделяемый массив. Эта проверка в настоящее время не реализована.
MemUsedMATLABmem_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.
- : 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/v8.1.0/System-Information.html