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.
-
:
[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 в противном случае.
-
:
tf =isunix() -
Возвращает true, если Octave запущен в Unix-подобной системе, и false в противном случае.
-
:
tf =ismac() -
Возвращает true, если Octave запущен в системе Mac OS X, и false в противном случае.
-
:
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.
-
:
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Дата выпуска версии.
-
:
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–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