36.11 System Information

Last-modified: 2025-03-09 (日) 15:44:53

36.11 システム情報

: computer ()
: comp = computer ()
: [comp, maxsize] = computer ()
: [comp, maxsize, endian] = computer ()
: arch = computer ("arch")
Octave が実行されているコンピュータの種類を識別する cpu - vendor - os形式の文字列を印刷または返します。

出力引数を指定して呼び出された場合は、値が印刷されるのではなく返されます。例:

computer ()
 -| x86_64-pc-linux-gnu
mycomp = computer ()
 ⇒ mycomp = x86_64-pc-linux-gnu

2 つの出力引数が要求された場合は、配列の要素の最大数も返します。これは、Octave が 32 ビットまたは 64 ビットのインデックス ベクトルでコンパイルされているかどうかによって異なります。

3 つの出力引数が要求された場合は、現在のシステムのバイト順序も文字として返します ("B"ビッグ エンディアンの場合は 、"L" リトルエンディアンの場合は )。

引数"arch"が指定されている場合は、Octave が実行されているコンピュータのアーキテクチャを示す文字列を返します。

Octave が –traditional オプションで呼び出された場合、結果が異なる場合があります。

See also: 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は 0 以外で、msgにはシステム依存のエラー メッセージが含まれます。

: n = nproc ()
: n = nproc (query)
現在使用可能な (論理) プロセッサの数を返します。

論理プロセッサの数を返します。ハイパースレッディング対応プロセッサの場合、これは物理コアの数よりも大きくなります。

オプションの引数queryを指定して呼び出された場合は、プロセッサのカウント方法を次のように変更します。

all
プロセッサの合計数。

current
現在のプロセスで使用可能なプロセッサ。

overridable
と同じですcurrentが、環境変数によって上書きできます OMP_NUM_THREADS 。

: tf = ispc ()
Octave が Windows システム上で実行されている場合は true を返し、それ以外の場合は false を返します。

参照: isunix、ismac。

: tf = isunix ()
Octave が Unix 系システムで実行されている場合は true を返し、それ以外の場合は false を返します。

参照: ismac、ispc。

: tf = ismac ()
Octave が Mac OS X システムで実行されている場合は true を返し、それ以外の場合は false を返します。

参照: isunix、ispc。

: tf = isieee ()
コンピュータが浮動小数点計算の IEEE 標準に準拠していると 主張する場合は true を返します。

実際のテストは実行されません。

: tf = isdeployed ()
現在のプログラムがコンパイルされ、Octave インタープリタとは別に実行されている場合は true を返し、Octave インタープリタで実行されている場合は false を返します。

現在、この関数は Octave では常に false を返します。

: tf = isstudent ()
MATLABの学生版で実行している場合は true を返します。

isstudentOctave では常に false を返します。

参照: false。

: dir = OCTAVE_HOME ()
最上位の Octave インストール ディレクトリの名前を返します。

OCTAVE_HOME は構成変数プレフィックスに対応します。

参照: 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 のバージョン番号が文字列として返されます。2 番目の戻り値d にはリリース日が文字列として保持されます。

featureには以下のオプションを渡すことができます:

"-date"
実行中のビルドのリリース日については、

"-description"
リリースの説明(常に空の文字列)

"-release"
実行中のビルドの名前(常に空の文字列)

"-java"
Java VMのバージョン情報については、

"-fftw"
リンクされたFFTWのバージョン情報については、

"-blas"
リンクされたBLASのバージョン情報については、

"-lapack"
リンクされたLAPACKのバージョン情報。

"-hgid"
Octave をビルドするために使用されたソースの Mercurial ID。

"-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)
指定された演算子を使用して 2 つのバージョン文字列を比較します。

この関数は、バージョンv1とv2 が、数字とピリオド文字で構成された任意の長さの文字列であり、その後に任意の文字列 (例: "1.2.3"、、、または) が続くものと想定します。 "0.3""0.1.2+""1.2.3.4-test1"

バージョンは、まず数値部分と文字部分に分割され、次に各部分が同じ長さになるようにパディングされます (つまり、と比較するときに"1.1"になるようにパディングされ、それとは別に、文字列の文字部分には null がパディングされます)。 "1.1.0""1.1.1"

演算子は、セット内の任意の論理演算子にすることができます。

"==" 等しい
"<" 未満
"<=" 以下か等しい
">" より大きい
">=" より大きいか等しい
"!="、"~=" 等しくない
バージョンは"1.1-test2"より大きいと判定されること に注意してください"1.1-test10"。また、数値部分が最初に比較されるため、 2番目の文字列は数値部分で始まるため、より大きいに もかかわらず、"a"より小さいと判定されます。"1a"double ("a")double ("1").

: tf = verLessThan (package, version)
パッケージのインストールバージョンがversionより小さい場合は true を返します 。

package はチェックするパッケージの名前です。Octave自体のバージョンをチェックするには、 パッケージ"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。オプションの機能"octave"引数は、(core) または Octave パッケージの名前の いずれかになります。

"inuse"
ロードされた機能のリスト、つまり「octave」とロードされたパッケージのリストを出力します。出力が要求された場合、フィールド"feature"、およびを含む構造体配列を返します"user"。

"test"
指定された機能がインストールされている場合は true を返し、そうでない場合は false を返します。

オプションの 3 番目の引数"enable"またはは"disable"受け入れられますが、無視されます。

"checkout"
指定された機能がインストールされている場合は true を返し、そうでない場合は false を返します。パッケージがインストールされていない場合は、オプションの 2 番目の出力にエラー メッセージが表示されます。

参照: 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: メモリ使用量情報を含む構造体を返す

information
[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 プロセスに関する統計情報を含む構造体を返します。

すべてのフィールドがすべてのシステムで使用できるわけではありません。CPU 時間の統計を取得できない場合、CPU タイム スロットはゼロに設定されます。その他の欠落データは 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 では、ルート キーrootkeyから レジストリ キーsubkeyの値を返します。オプションの引数valuenameを使用して、照会するレジストリ値の名前を指定できます。それ以外の場合、引数が 2 つだけ指定されているか、valuenameが空であれば、 subkeyのデフォルト値 が返されます。レジストリ値が 型の場合 、valueは int32 クラスです。値が 型 または文字列の場合、値が返されます。 "REG_DWORD""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");
For each valuenames, display the value:
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 以外のプラットフォームでは、この関数はエラーで失敗します。