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 содержит сообщение об ошибке, зависящее от системы.
- : nproc () ¶
- : nproc (query) ¶
-
Возвращает текущее количество доступных процессоров.
Если вызван с необязательным аргументом query, меняет способ подсчета процессоров следующим образом:
all-
общее количество процессоров.
current-
количество процессоров, доступных текущему процессу.
overridableто же, что и
current, но переопределяемое через переменную средыOMP_NUM_THREADS.
- : ispc () ¶
-
Возвращает true, если Octave работает на системе Windows, и false в противном случае.
- : isunix () ¶
-
Возвращает true, если Octave работает на системе Unix-подобной системе, и false в противном случае.
- : ismac () ¶
-
Возвращает true, если Octave работает на системе Mac OS X, и false в противном случае.
- : 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.
- : 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Дата выпуска версии.
- : 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 в противном случае. Необязательный второй вывод будет содержать сообщение об ошибке, если пакет не установлен.
- : 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.
- : 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